UTM パラメータを Intercom に渡して、私たちとチャットしているユーザーとそのユーザーがどこから来たかを追跡しようとしています。
Intercom では、その情報を取得し、jQuery cookie プラグインを使用して設定することを推奨しています。これがドキュメントです。
Cookie の最新リリースを使用し、Intercom が提供するコードを少しだけ更新しました。
<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 パラメータが含まれている場合は、実際の値を取得します。
しかし、何らかの理由で、これは Intercom に渡されず、その情報を渡すためのコード (フッターにあります) は次のようになります。
<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>
私は何を間違っていますか?