実装
まとめ
コンバージョン トラッキングの実装は、次の 3 つの段階で構成されます。
-
ランディング ページ / アプリ エントリ ポイントから
rwg_token
を収集します。 -
適切なアトリビューション ウィンドウの
rwg_token
の永続性 - 決済時にコンバージョン イベントを送信する
このコンバージョン トラッキングの実装では、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
投稿の本文は、次の形式の JSON エンコード オブジェクトにする必要があります。
{ 'conversion_partner_id': partnerId, 'rwg_token': <rwg_token_val> }
サンドボックス環境と本番環境の両方で、コンバージョン イベントを送信する際に有効な rwg_token
を指定する必要があります。
サンドボックス環境でのテストには、次のテストトークンを使用できます。
ADQ7psRE9YyDSVR6YpfD-fYdxoFYVKS1xeTvXdSxqF8a3bnk0W62eMEnUjoNPwjhNHG0elwBnM1awTjr9vXET8yOowCeuODjwA==
投稿レベルのリクエストを行う 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 など)でのみ保存されている場合、クロスデバイス アトリビューションを提供することは想定されていません。この場合、ユーザーが各デバイスでアクション リンクをたどると、各デバイスに別々のトークンが保持され、各デバイスがアトリビューション ルールに個別に従います。