コンバージョンAPIは、マーケティングデータを、Metaのテクノロジー全体における広告のターゲット設定の最適化、顧客獲得単価の削減、結果測定を支援するシステムと直接接続することを目的としています。Google Cloud Platform (GCP)またはその他のクラウドプロバイダーにセットアップされているサーバーを、コンバージョンAPIを通じて主要なウェブとウェブとオフラインのイベントデータを送信するように構成できます。この設定で、Googleアナリティクス4 (GA4)ウェブタグを構成すれば、データをGoogle Cloud Platform (GCP)でホストされている自分のサーバーに送信し、コンバージョンAPIを介して最終的にMetaに送信できるようになります。
コンバージョンAPIタグは、Googleカスタムタグテンプレートをベースにして、Metaによって作成および維持されています。さまざまなGoogle製品の設定について、またGoogleの開発者向けドキュメントについてご不明な点がある場合は、Googleにお問い合わせください。
このドキュメントでは、次のことに関する概要を示します。
この統合の作業を進める前に、次のことをおすすめします。
GA4より古いバージョンを使っているシステムの場合は、GA4を使えるように既存のタグマネージャの設定をアップグレードしてから、この統合の作業を進めてください。
これにより、トラッキングとマーケティングタグを管理および保存できるようになります。また、ユーザーがあなたのウェブサイトでどのようなアクションを実行しているかもトラッキングしやすくなります。
サーバーコンテナとウェブコンテナを設定する必要があります。
Googleタグマネージャは、Googleタグマネージャのウェブサイトからアクセスできます。
すでにアカウントをお持ちの場合は、そのアカウントを選択してください。お持ちでなければ、新しいGTMアカウントを作成してください。
[コンテナを作成する]をクリックします。
コンテナに名前を付けて、ターゲットプラットフォームとして「サーバー」を選択します
[作成]をクリックします。
サーバーコンテナを設定するには、タグ付けサーバーを設定する必要があります。デフォルトのGCPデプロイメントは、サーバーコンテナの設定時に実行することができます。次のガイダンスをご覧ください。他のクラウドプロバイダー(AWSやMicrosoft Azureなど)については、サーバーの手動設定ガイドをご覧ください。
ウェブコンテナとサーバーコンテナを構成する
graph.facebook.com
に送信するサーバー側タグ)。作成したタグ付けサーバーにウェブサイトデータを送信するよう、ウェブコンテナを設定します。Googleアナリティクス: GA4設定タグを設定する方法について詳しくはこちらをご覧ください。
transport_url
すべてのイベントで送信する他のパラメーターのためにさらに追加のフィールドを設定することができます。
first_party_collection
true
既存のGA4をすでに設定している場合は、それを修正することも、サーバーサイドGTM用に追加の設定タグを作成することもできます。
サーバーサイドGTMを初めて設定する場合、サーバーコンテナのURLを追加することにより、全トラフィックがサーバーコンテナに送信されるようになります。データが引き続きGA4に送信されるようにするには、サーバーコンテナにGA4サーバーサイドタグを追加して、そのタグを全イベントで確実に起動させる必要があります。追加のGA4イベントタグを作成するか、既存のものに変更を加えることによって、Metaピクセルイベントへのマッピングを完成させる必要がある場合があります。
カスタムドメインを設定済みの場合、GTMタグ付けサーバードメインがファーストパーティであれば、MetaブラウザーIDとMetaクリックIDは自動的に送信されます。
デフォルトのドメインを使っている場合、またはイベントマネージャでブラウザーIDとクリックIDのフィールドが送信されていないことが分かった場合には、それらを次のように設定することができます。
_fbp
に設定します_fbc
に設定しますGTM共通イベントスキーマの各user_dataパラメーターに対して、データレイヤー変数を作成します。データレイヤー変数の設定については、こちらをご覧ください。例えば、サーバー側GTMにメールアドレスを渡すには、データレイヤー変数名eventModel.user_data.email_address
にマッピング可能な変数(user_data_email_address
など)を作成します。
データレイヤーを使っていない場合は、代わりに使うために、各パラメーターに以下のように変数を設定します。下記のリストに、MetaとGTMのuser_dataパラメーターの全マッピング、およびイベントマッチングクオリティの向上に役立つ一般的な優先度を示します。Meta広告を最大限活用するには、統合設定時にコンバージョンAPIのベストプラクティスに従うことをおすすめします。コンバージョンAPIが設定済みの場合は、既存の設定を改善するためにベストプラクティスを考慮することをおすすめします。コンバージョンAPIのベストプラクティスは、顧客獲得単価を下げることで広告パフォーマンスを向上させるのに役立つことがあります。
コンバージョンAPIのMetaパラメーター | GA4フィールド名 | GTMデータレイヤー変数名 | 優先度 |
---|---|---|---|
メール
| user_data.email_address | eventModel.user_data.email_address | 高 |
クリックID
| x-fb-ck-fbc | なし | 高 |
FacebookログインID | user_data.fb_login_id | なし | 中 |
生年月日
| x-fb-ud-db | なし | 中 |
国
| user_data.address.country | eventModel.user_data.address.country | 中 |
電話番号
| user_data.phone_number | eventModel.user_data.phone_number | 中 |
外部ID
| x-fb-ud-external_id | なし | 中 |
ブラウザーID
| x-fb-ck-fbp | なし | 中 |
州
| user_data.address.region | eventModel.user_data.address.region | 中 |
性別
| x-fb-ud-ge | なし | 中 |
名
| user_data.address.first_name | eventModel.user_data.address.first_name | 低 |
姓
| user_data.address.last_name | eventModel.user_data.address.last_name | 低 |
市区町村
| user_data.address.city | eventModel.user_data.address.city | 低 |
郵便番号 | user_data.address.postal_code | eventModel.user_data.address.postal_code | 低 |
Googleアナリティクスを追加するため、作成されたタグ付けサーバーにウェブサイトデータを送信するよう、ウェブコンテナを設定します。Googleアナリティクス: GA4設定タグを設定する方法について詳しくはこちらをご覧ください。
テンプレートギャラリーからGoogleアナリティクス: GA4イベントタグを自分のワークスペースに追加します。
Meta標準イベント名 | Googleアナリティクスイベント名 |
---|---|
AddPaymentInfo | add_payment_info |
AddToCart | add_to_cart |
AddToWishlist | add_to_wishlist |
PageView | gtm.dom |
PageView | page_view |
Purchase | purchase |
Search | search |
InitiateCheckout | begin_checkout |
Lead | generate_lead |
ViewContent | view_item |
CompleteRegistration | sign_up |
イベントパラメーターのセクションで、以下を行います。
どのGTMサーバー側コンテナにも、そのGA4ウェブタグから構成されたイベントをリッスンするための、デフォルトのGA4クライアントが付属しています。GA4クライアントは、タグ付けサーバーURLの/g/collectルートをリッスンし、eventModelをダウンストリームタグに送信します。サーバーコンテナのクライアントセクションの下にすでにデフォルトのGA4クライアントがインストールされている場合は、ステップ4に進むことができます。
コンバージョンAPIにイベントを送信するには、テンプレートギャラリーからMetaコンバージョンAPIタグをインストールする必要があります。facebookincubatorで、タグテンプレートはコンバージョンAPIタグと呼ばれています。このタグは、前の手順のGA4クライアントが受け取るイベントでトリガーされてコンバージョンAPIに送信されるように設定することができます。MetaコンバージョンAPIタグをインストールするには、ピクセルIDとアクセストークンが必要であり、アクションソースを「ウェブサイト」に指定する必要があります。コンバージョンAPIを使用することで、自分が知る限りaction_source
パラメーターが正確であることに同意するものとします。
変更内容を公開する前に、Googleタグマネージャのプレビューモードを使って統合をテストすることをおすすめします。ウェブコンテナとサーバーコンテナは、どちらにもプレビューモードがあり、両方同時に実行できます。
プレビューモードの実行中に設定を変更した場合、その変更がテスト中に反映されるようにプレビューモードを再起動してください。
イベントマネージャのイベントテスト機能を使って、サーバーイベントが意図どおりに受信されていることを確認できます。このツールを利用するには、[イベントマネージャ] > [データソース] > [対象ピクセル] > [テストイベント]と移動します。
イベントテストツールはテストIDを生成します。コンバージョンAPIタグ内のtest_event_code
パラメーターとしてテストIDを送信することにより、[イベントのテスト]ウィンドウにイベントアクティビティが表示されるようになります。これは、変更内容公開の前に必ず削除してください。
テストイベントツールを使うと、イベントが受信されているかどうか、重複が正しく除外されているかどうかを確認できます。1、2分経過してもイベントが表示されない場合は、GTMサーバーサイドデバッガーをチェックして、リクエストが処理されたかどうか確認してください。
https://graph.facebook.com
に送信された処理中リクエストをクリックします。リクエスト詳細の下部にある応答本文でエラーの内容を確認し、それに応じて統合を更新します。変更を加えた場合は、必ずプレビューモードを再開してください。イベントが表示されるようになったら、各イベントのイベントIDが正しく送信されていること、また予期されるマッチキーとカスタムデータパラメーターがすべて正しく表示されていることを確認してください。テストイベントツールに、イベントが正しく受信されているかどうかが表示されます。イベントIDが違っている場合は、GA4とMetaピクセルタグが同じトリガーで起動していることを確認し、イベントID変数の実装を見直してください。
冗長イベント設定を使用し、コンバージョンAPIとMetaピクセルの両方から同じイベントを共有することをおすすめします。どちらのイベントも同一のevent_name
を使用していること、そしてevent_id
か、external_id
とfbp
の組み合わせが含まれていることを確認してください。
これは、Metaがイベントの重複を除外して、同一イベントが重複して報告される可能性を抑えるのに役立ちます。重複除外とはどのようなもので、どのような時に必要とされ、どのように設定するかについて詳しくは、こちらをご覧ください。external_idとfbpは、重複除外の代替ソリューションであり、これも設定の品質改善に役立ちます。可能であれば、これらの3つのパラメーターを含めるようにおすすめします。
GTMには、ブラウザータグとサーバータグの値が同じパラメーターを設定する方法がいくつかあります。1つの方法は、同じGA4イベントタグを、Metaピクセルタグとサーバーイベントを起動するトリガーとして使用することです。そのためには、以下を行います。
event_id
を使います。
x-fb-event_id
)を設定します。JavaScriptのメソッド(またはGoogleタグマネージャのカスタムJavaScript変数)を使ってウェブサイトのイベントごとに一意のIDを生成し、そのイベントで値を次のように設定します。gtag('event', 'purchase', { 'x-fb-event_id': generateEventId(), ...:... });上記のカスタムJavaScriptを指す変数を作成することができます。この変数が参照されるたびに、下記のJavaScriptがインラインで読み込まれます。
function() { var gtmData = window.google_tag_manager[{{Container ID}}].dataLayer.get('gtm'); return gtmData.start + '.' + gtmData.uniqueEventId; }
event_id
から値を読み取ることができます。そのためには、データレイヤー変数名をeventModel.event_id
に指定して、新しいデータレイヤー変数(例: FBEventIdVar)を作成します。event_id
を読み取ることができます。fbq('track', Purchase, {..}, {eventID: FBEventIDVar });
event_id
という名前の追加パラメーターを、FBEventIdVar
変数に設定して送信するよう、GA4イベントを設定します。
カスタムデータを送信するには、GA4イベントタグで以下の対応関係を使います。
Metaパラメーターの名前 | GA4パラメーターの名前 |
---|---|
value | value |
currency | currency |
search_string | search_term |
order_id | transaction_id |
content_ids | x-fb-cd-content_ids |
content_type | x-fb-cd-content_type |
content_name | x-fb-cd-content_name |
content_category | x-fb-cd-content_category |
contents* | itemsまたはx-fb-cd-contents |
num_items | x-fb-cd-num_items |
predicted_ltv | x-fb-cd-predicted_ltv |
status | x-fb-cd-status |
delivery_category | x-fb-cd-delivery_category |
custom_properties* | custom_properties |
x-fb-cd-contentsとcustom_propertiesはMeta定義によるJSONパラメーターなので、送信前にJSON文字列に変換してください。
ウェブコンテナとサーバーコンテナの構成が完了したら、ウェブサイトからサンプルイベントを送信して、サーバーイベントを確認できます。パラメーターを設定したサンプルイベントは次のようになります
gtag('event', 'purchase', { 'event_id': generateEventId(), 'transaction_id': 't_12345', 'currency': 'USD', 'value': 1.23, user_data: { email_address: '<HASHED_DATA>', phone_number: '<HASHED_DATA>', address: { first_name: '<HASHED_DATA>', last_name: '<HASHED_DATA>', city: '<HASHED DATA>', region: '<HASHED_DATA>', postal_code: '<HASHED_DATA>', country: '<HASHED_DATA>' }, }, items: [ { item_id: '1', item_name: 'foo', quantity: 5, price: 123.45, item_category: 'bar', item_brand: 'baz' } ], });
イベントがトリガーされると、設定したパラメーターと共にリクエストがリンク(例: www.analytics.example.com/g/collect)に送信されるはずです。コンバージョンAPIに送信されるイベントを検証するため、テストイベントコードをMetaコンバージョンAPIタグに追加することができます。テストイベントコードは、テスト目的でのみ使ってください。本番ペイロード送信時には削除する必要があります。
変更内容公開後、こちらにある設定検証ページを使ってイベントが正しく送信されていることを確認します。そのためには、以下の[設定確認 - コンバージョンAPI]をチェックし、品質統合がMetaのベストプラクティスを満たしていることを確認してください。
カスタムパラメーターを送信する機能を追加する予定はありますか?もしそうなら、それはいつ利用可能になりますか?
A: コンバージョンAPI標準のカスタムパラメーターのうちGTMのスキーマでサポートされるもののほとんどについて、マッピングが追加されています。また、カスタムマッピングも提供されています。詳しくは、こちらをご覧ください。
単一のサーバーまたはクラスターで複数のコンテナを実行できますか?
A: 現在のところ、GTMでサポートされるのは1:1のマッピングだけです。コンテナの編成方法についての推奨事項をご確認ください。
イベントを発行するには、サーバー側GTMにブラウザーベースのタグが必要ですか?
A: はい
サーバーサイド統合とは別にGA4を維持することは可能ですか?
A: GA4とサーバーサイドGTM統合を個別に維持するため、Googleアナリティクスで追加の評価IDを作成できます。この評価IDを使って上記の手順に従うことにより、サーバーサイドGTM用に別個のGA4設定タグを作成します。このシナリオでは、既存のGA4設定タグはウェブコンテナを通じてGAトラフィックを送信し続けますが、新しい設定タグはサーバーコンテナにデータを送信することになります。ステップ2に従い、新しい設定タグを使ってサーバーサイドイベント送信用の追加のGA4イベントタグを作成します
GTMコンバージョンAPI統合は、GCPではないクラウドホスティングソリューションで動作しますか?
A: GTMコンバージョンAPI統合は、GCPでもそれ以外のプラットフォームでも動作するはずです。手動のプロビジョニングについて詳しくは、こちらをご覧ください。