コンバージョン トラッキング

実装

概要

コンバージョン トラッキングの実装は、次の 3 つの要素で構成されます。

  1. ランディング ページ / アプリのエントリ ポイントから rwg_token を収集する。
  2. 適切なアトリビューション期間に合わせて rwg_token を維持する
  3. ご購入手続き時にコンバージョン イベントを送信する

このコンバージョン トラッキングの実装では、Google アナリティクスやその他のサードパーティの JavaScript を使用する必要はありません。

コンバージョン トラッキングの実装を始める前に、デバイスレベルとユーザーレベルのどちらでコンバージョンをトラッキングするかを決定する必要があります。

  • デバイスレベルには、ブラウザ Cookie、ローカル ストレージ、アプリのローカル ストレージなど、30 日間のアトリビューション期間の間トークンを保持できる方法が含まれます。トークンはユーザーのデバイスにローカルに保存されるため、ユーザーが使用しているデバイスを変更したり、ローカル ストレージや Cookie を削除したり、プライベート ブラウジングやシークレット モードを使用したりすると、コンバージョン イベントが正しくアトリビューションされない可能性があります。デバイスレベルのコンバージョン トラッキングを使用する場合は、サポートされているすべてのサーフェス(モバイルを含む)に再実装する必要があります。
  • ユーザーレベルでは、サーバー側の分析システムや他のサーバー側システムを通じて、ユーザーレベルをアプリケーション データベース内に保持します。トークンはサーバーサイドに保存されるため、ユーザーが使用しているデバイスを変更したり、ローカル ストレージや Cookie を消去したり、プライベート ブラウジングやシークレット モードを使用した場合は、ユーザーが再度ログインしたときにコンバージョン イベントに関連付けられます。ユーザーレベルのコンバージョン トラッキングを使用する場合、システムのアーキテクチャによっては、一度サーバー側で実装してから、サポートされているすべてのサーフェスで再利用できる場合があります。

rwg_token の収集

フィードで指定した action_link が Google に表示されるたびに、その URL は固有のクエリ パラメータ(rwg_token)を含むように変更されます。rwg_token 値はエンコードされた文字列で、ユーザーがクリックしたリンクに関するメタデータが含まれます。このトークンを保存し、コンバージョン イベントの一部として返します。

各ランディング ページまたはアプリのエントリ ポイントで、rwg_token クエリ パラメータに設定された値を解析し、保存する必要があります。このパラメータを保存するための要件については、rwg_token を永続化するのステップで説明しています。

ブラウザによるデバイスレベルのトラッキングでこのトークンを解析する方法の例を以下に示します。別の方法として、リクエストへの応答時にサーバーサイドでこのトークンを収集することもできます。

<script>
  var query = location.search.substring(1);
  var params = query.split('&');
  var rwgToken = undefined;
  for (var i = 0; i < params.length; ++i) {
    var pair = params[i].split('=');
    if (pair[0] == 'rwg_token') {
      rwgToken = decodeURIComponent(pair[1]);
      break;
    }
  }
</script>

rwg_token を永続化する

その場合は、指定したすべてのアクション リンクに追加する rwg_token URL パラメータを合計 30 日間保持する必要があります。rwg_token の値は保存し、編集せずに返す必要があります。 以前のアクセスから既存のトークンが保持されている場合は、古いトークンを置き換えて、30 日間の保存期間をリセットする必要があります。

トークンを保持する場合は、デバイスレベルまたはユーザーレベルでトークンを保存できます。

  • デバイスレベルでは、ブラウザ Cookie、ローカル ストレージ、アプリのローカル ストレージなど、30 日間のアトリビューション期間の間トークンを保持する方法が使用されます。
  • ユーザーレベルでは、サーバー側の分析システムや他のサーバー側システムを通じて、ユーザーレベルをアプリケーション データベース内に永続化します。

以下に、デバイスレベルのコンバージョン トラッキングの例を示します。この例では、ファーストパーティの Cookie を使用してこのトークンをウェブブラウザに保存しています。この例では、上記の例のようにトークン値を変数に解析していることを前提としています。この例を使用するには、「ルートドメイン」をお使いのドメインにアップデートする必要があります。

<script>
  if (typeof rwg_token !== 'undefined') {
    document.cookie =
    "_rwg_token=" + rwg_token + ";max-age=2592000;domain=rootdomain.com;path=/";
  }
</script>

ユーザーレベルのコンバージョン トラッキングを使用する場合、rwg_token をサーバーに保存し、ユーザーに関連付ける必要があります。

コンバージョン データの送信

ユーザーが Google の位置情報アクション リンクに起因する取引を完了したときは、HTTP POST リクエストをコンバージョン エンドポイントに送信する必要があります。エンドポイントは 2 つあります。1 つは本番環境用、もう 1 つはサンドボックス環境用です。

  • プロダクション: https://www.google.com/maps/conversion/collect
  • サンドボックス: https://www.google.com/maps/conversion/debug/collect

POST の本文は、次の形式の JSON エンコード オブジェクトにする必要があります。

{
  'conversion_partner_id': partnerId,
  'rwg_token': <rwg_token_val>
}

サンドボックス環境と本番環境の両方で、コンバージョン イベントを送信する際に有効な rwg_token を指定する必要があります。サンドボックス環境でのテストには、次のテストトークンを使用できます。

ADQ7psRE9YyDSVR6YpfD-fYdxoFYVKS1xeTvXdSxqF8a3bnk0W62eMEnUjoNPwjhNHG0elwBnM1awTjr9vXET8yOowCeuODjwA==

デバイスレベルのコンバージョン トラッキング(ユーザーのデバイスに保存されている Cookie を使用)の完全な例については、JavaScript での投稿 リクエストの作成方法をご覧ください。

const partnerId = XXXXXXXXXX;
const endpoint = `https://www.google.com/maps/conversion/collect`;

const rwgTokenCookie = document.cookie
  .split('; ')
  .find(row => row.startsWith('_rwg_token='));

if (typeof rwgTokenCookie !== 'undefined') {
  const rwgTokenVal = rwgTokenCookie.split('=')[1];
  fetch(endpoint, {
    method: "POST",
    body: JSON.stringify({
      conversion_partner_id: partnerId,
      rwg_token: rwgTokenVal
    })
  });
}

ユーザーレベルのコンバージョン トラッキングを使用する場合、ユーザーに関連付けられているトークンを(ユーザーが利用しているサーフェスに関係なく)サーバーサイドのストレージ メカニズムから取得し、同じ本番環境またはサンドボックス エンドポイントを使用してトークンを送信する必要があります。

コンバージョン アトリビューションの要件

Google がコンバージョン アトリビューションに求める標準は、あらゆる店舗において、プレイスのリンクに対するあらゆるインタラクションに対して 30 日間のアトリビューション期間を設けることです。

このアトリビューション期間は、次のいずれかのシナリオでコンバージョン イベントが送信されることを意味します。

  • ユーザーが位置情報アクション リンクをクリックし、同じセッションで注文を行いました。
  • ユーザーが位置情報アクション リンクをクリックし、30 日以内に別のチャネルから再度注文したとします。
  • ユーザーが位置情報アクション リンクをクリックし、同じセッション内または 30 日以内に別のセッションで別の店舗に注文したとします。

また、コンバージョン イベントは、ユーザーが位置情報アクション リンクからアクセスできるすべてのサーフェスから送信されることが想定されています。例:

  • デスクトップまたはモバイルウェブ アプリケーション
  • モバイルアプリ(アプリのディープリンク、ドメインの登録済みアプリ インテント経由)

トークンがユーザーレベルで保存されている場合(トークンの永続化を参照)、クロスデバイス アトリビューションを提供することが想定されます。つまり、ユーザーがパソコンでアクション リンクをクリックし、同じユーザー アカウントを使用してモバイルで取引を完了した場合、コンバージョン イベントをトリガーする必要があります。

トークンがデバイスレベル(ブラウザの Cookie など)でのみ保存されている場合、クロスデバイス アトリビューションを提供する必要はありません。この場合、ユーザーが各デバイスでアクション リンクをたどった場合、各デバイスは個別のトークンが保持され、各デバイスは個別にアトリビューション ルールに従います。