2017-08-14 5 views
1

私たちとチャットするユーザーとその出所を追跡するために、UTMパラメータをインターコムに渡そうとしています。UTMパラメータをインターコムに渡す

インターコムでは、その情報をキャプチャし、jQueryクッキープラグインで設定することをお勧めします。 Here is the documentation

私は最新のCookieを使用しています。インターコムはちょっとしたコードを提供しています。

<script type="text/javascript" src=".../js/js.cookie.js"></script> 

<script type="text/javascript"> 
function getURLParam(name) { 
    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(window.location.search) || [null, ''])[1].replace(/\+/g, '%20')) || null; 
} 

jQuery(document).ready(function($) { 
    if(getURLParam('utm_source') !== null) { 
    Cookies.set('utm_source', getURLParam('utm_source'), { 
     expires: 365, 
     path: '/', 
     domain: window.location.hostname, 
     secure: true 
    }); 
    } 

    if(getURLParam('utm_campaign') !== null) { 
    Cookies.set('utm_campaign', getURLParam('utm_campaign'), { 
     expires: 365, 
     path: '/', 
     domain: window.location.hostname, 
     secure: true 
    }); 
    } 

    if(getURLParam('utm_medium') !== null) { 
    Cookies.set('utm_medium', getURLParam('utm_medium'), { 
     expires: 365, 
     path: '/', 
     domain: window.location.hostname, 
     secure: true 
    }); 
    } 
}); 
</script> 

私はChromeデベロッパーツールでJavaScriptコンソールを使用しているので、私は

Cookies.get('utm_source') 

を呼び出し、URLがその特定のUTMパラメータが含まれている場合、実際の値を取得することができ、これは正しく動作している知っています。

しかし、いくつかの理由で、これは次のようになり、その情報を渡すためのインターホンと(フッターにある)コードに渡していません。

<script> 
    window.intercomSettings = { 
    app_id: "zto7cy6x", 
    "utm_source": Cookies.get('utm_source'), 
    "utm_medium": Cookies.get('utm_medium'), 
    "utm_campaign": Cookies.get('utm_campaign') 
    }; 
</script> 

私が間違って何をしているのですか?

答えて

0

設定に続いてインターコムスクリプトがありますか? window.intercomSettingsの変数を変更するだけでは不十分です。これらの設定をインターコムに送信するインターコムスクリプトも必要です。

<script> 
    window.intercomSettings = { 
     app_id: "zto7cy6x", 
     "utm_source": Cookies.get('utm_source'), 
     "utm_medium": Cookies.get('utm_medium'), 
     "utm_campaign": Cookies.get('utm_campaign') 
    }; 
</script> 
<script>(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://widget.intercom.io/widget/wprz7ktj';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})()</script> 
+0

インターコムスクリプトは実際にはwindow.intercomSettings変数の後にあります。 – dtalexone

+0

あなたの例からあなたの 'app_id'を削除するのに良いかもしれません:) – chafreaky

+0

その部分はOPのコピー貼りです – Jack

関連する問題