1

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>

私は何を間違っていますか?

4

1 に答える 1