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

実装

概要

コンバージョン トラッキングの実装には、次の 3 つの要素があります。

  1. ランディング ページまたはアプリのエントリ ポイントから rwg_token を収集する
  2. 適切なアトリビューション期間に rwg_token を保持する
  3. 購入手続きでのコンバージョン イベントの送信

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

コンバージョン トラッキングの実装を開始する前に、コンバージョンをデバイス単位でトラッキングするか、ユーザー単位でトラッキングするかを決める必要があります。

  • デバイス単位には、ブラウザ Cookie、ローカル ストレージ、アプリのローカル ストレージ、または 30 日間のアトリビューション期間にトークンを保持できるその他の方法が含まれます。トークンはユーザーのデバイスにローカルに保存されるため、ユーザーが使用しているデバイスを変更したり、ローカル ストレージや Cookie を消去したり、シークレット ブラウジングやシークレット モードを使用している場合、コンバージョン イベントが適切に割り当てられない可能性があります。デバイス単位のコンバージョン トラッキングを使用する場合は、サポートされているすべてのサーフェス(モバイルを含む)でこれを再実装する必要があります。
  • ユーザーレベルには、サーバーサイド分析システムやその他のサーバーサイド システムを介して、アプリケーション データベースにデータを保持することが含まれます。トークンはサーバーサイドに保存されるため、ユーザーが使用しているデバイスを変更したり、ローカル ストレージや Cookie を消去したり、シークレット ブラウジングやシークレット モードを使用したりしても、ユーザーが再度ログインすると、コンバージョン イベントは引き続きアトリビューションされます。ユーザー単位のコンバージョン トラッキングを使用する場合、システムのアーキテクチャによっては、これをサーバーサイドに 1 回実装して、サポートされているすべてのサーフェスで再利用できる場合があります。

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 を指定する必要があります。サンドボックス環境でテストする場合は、次のテストトークンを使用できます。

AJKvS9WeONmWKEwjG0--HdpzMq0yAVNL8KMxbb44QtbcxMhSx_NUud5b8PLUBFehAIxOBO-iYRIJOknEFkIJmdsofdVJ6uOweQ==

この POST リクエストを行う方法の JavaScript でのデバイスレベルのコンバージョン トラッキング(ユーザーのデバイス上の Cookie を使用)の完全な例を以下に示します。

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