ステップ 3: コンバージョン トラッキング

実装

まとめ

コンバージョン トラッキングの実装は、次の 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 を介してこのトークンをウェブブラウザに保存しています。この例では、上記の例のようにトークン値を変数に解析していることを前提としています。この例を使用するには、「rootdomain」を自分のドメインに更新する必要があります。

<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 で POST リクエストを行う方法をご覧ください。

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 など)でのみ保存されている場合、クロスデバイス アトリビューションを提供することは想定されていません。この場合、ユーザーがそのデバイス上でアクション リンクをクリックした場合、各デバイスには個別のトークンが保持され、各デバイスは個別にアトリビューション ルールに従います。