Meta広告・Facebook広告 CAPI重複イベント除外設定の方法(一例をご紹介)
お疲れ様です。あどまるです。
今回は、Meta広告のコンバージョンAPI(以下CAPI)でブラウザーイベントとサーバーイベントの重複を、実際に除外設定した方法の一例をご紹介していきます。
✔︎この記事の対象者
✔︎この記事を読まなくても大丈夫な方
Meta広告CAPIの実装方法はWordpress・Shopifyなどのツール連携やプラグイン利用、サーバーサイドGTMの活用、有料ツールのオプション機能で実装など方法は多くあります。
今回の記事は、CRMツールを用いてCAPI実装したら管理画面CVが2倍になったので重複除外設定を行った体験談になります。
ツールごとに具体的な方法は異なりますが、大枠の概念や設定方法などは参考になるかもと思ったので、この記事を書いてみました。
CAPIを正しく活用することで、以下の様な方々の参考にもなるかもです。
分かりやすさ重視で書いたので、なんとなくイメージを掴んでいただけたら幸いです。
それでは参ります!
※Xもやっているのでお気軽にフォローいただけると嬉しいです🙋https://twitter.com/adoadomaru01
CAPI (Conversion API)とは?
CAPIとは結局何?と思いますよね。CAPIとは
のことです。
Meta広告のCV計測は以下2つの方法で行われます。
図で表すと以下の通り。
※アドエビスさんの記事が分かりやすかったため、引用させて頂きました。
元々、ピクセルのみでCV計測していた頃は、画像上部の×印がある箇所の
「ユーザーがサイトを閲覧 → クッキー発行 → FB(Meta)サーバーへ送信」
されることで、管理画面上でCVが反映されていました。
このCVした情報を元に、Metaはどんなユーザーに広告を配信するかを決め、その精度が高いためMeta広告ではCPAを抑えて配信できていたんです。
しかし、個人情報の活用に厳しい目が向けられ昨今ではデータ活用に規制の流れが… ITP、ATT、クッキー規制…
つまり、「広告媒体社は3rdパーティのデータを活用して広告配信に使うの徐々に辞めていこうぜ」という流れがグローバルで起きているんです。
これまではピクセルを用い3rdパーティクッキーのデータをもとに、広告配信してきたMetaとしては以下のデメリットがあります。
これらを改善するための技術がCAPI。3rdパーティクッキーではなく、広告主のサーバー(1stパーティ)からMetaのサーバーに購入者情報を送信し、管理画面にCV反映させることができます。
※以下画像の下部のフロー
CAPIを実装することで、データの欠損や精度の担保を行い、広告成果を改善することに繋がるんです。
CAPIを設定するとどうなるのか?
CVデータの数や質をMetaが正しく判断できる様になることで、CPAが下がる可能性があります。
データが正しく送られると、以下の様に青色と緑青色の2本のグラフが表示される様になります。
しかし、ここで注意点があります。
それは、重複除外の設定を行うことです。
ピクセルを設置しつつ、CAPIを実装すると3rdパーティと1stパーティの2方面からMetaのサーバーにCVデータが送られます。
しかし、Metaのサーバーからすると、この2つのCVデータが同一人物(1人)のCVか異なる人物(2人)なのか判別がつきません。
そのため、実際は1件しか購入されていないけど、ピクセルとCAPIから合計2件MetaサーバーにCVデータが送られることで、管理画面上は2CVついてしまう( 管理画面CV > 実CV )という現象が起きてしまうんです…
それを解消するために
と伝えてあげることで、Metaサーバーは片方を除外する※ことができます。
これにより、管理画面上のCVと実CVの乖離を減らし、より正確に広告上でデータを活用することができる様になります。
※CVの除外について:ピクセルとCAPIのシグナルにおいて、
など諸々ありますが、かなりディープな部分なので興味がある方は以下の記事を見てみてください。
重複したピクセルイベントとコンバージョンAPIイベントの処理 Meta for developpers
実際に重複除外設定した方法
今回は"重複除外"の方法なので、CAPIの実装方法については深くは触れません。
今回のケースでは、
「ECフォースの機能を用いCAPIを実装したが購入イベントの重複発火が発生したため、GTMで除外設定をした」
という流れを説明しています。
以下、具体的な流れです!
ゴール:”イベントの重複除外”が「ベストプラクティスを満たしています」を実現。
方法:(基本的には公式ヘルプを参照)
ただ、公式ヘルプは分かりずらいので、以下の様に設定をしたら、正しく重複除外される様になりました。
◆Metaピクセル
event:Purchase
eventID:GTMを使用して、各注文(ユニークの受注)IDをサンクスURLの末尾からJavascriptで取得
◆サーバー側(CRMツール)
event_name:Purchase
event_id:CRMツール内で各注文(ユニークの受注)に割り振られるIDを関数で取得
★実際の実装コード★
◆Metaピクセル
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,'script',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('init', '××××××××××××',{
});
fbq('track', 'Purchase', {currency: 'JPY'},{eventID:'{{cv_order_id}}'});
</script>
●GTMの設定
・GTM内の”変数”を選択
・ユーザー定義変数で「カスタムJavascript」を選択
・名前を決定(画像では「cv_order_id」と設定しています。上記ピクセルeventIDに記載している名前と同じであればOKです)
・コードは下記の通り(URLの/order_id= 以降の文字列をcv_order_idに返しています)
function(){
var cv_order_id = decodeURIComponent(location.search.match(/order_id=(.*?)(&|$)/)[1]);
return cv_order_id;
}
◆サーバー側(CRMツール)
{
"data": [
{
"event_name": "Purchase",
"event_time": "{{ unix_time }}",
"action_source": "website",
"event_source_url": "{{ request.url }}",
"event_id": "{{ order.number }}",
※ここでサーバー内の各受注IDをevent_idとして返しています
"user_data": {
"external_id": "{{ order.hashed_id }}",
"em": "{{ order.hashed_email}}",
"ge": "{{ order.hashed_gender }}",
"db": "{{ order.hashed_birth}}",
"ln": "{{ order.hashed_name01 }}",
"fn": "{{ order.hashed_name02}}",
"ph": "{{ order.hashed_tel }}",
"zp": "{{ order.hashed_zipcode}}",
"st": "{{ order.hashed_prefecture }}",
"ct": "{{order.hashed_address }}",
"country": "{{ order.hashed_country }}",
"client_ip_address": "{{ request.remote_ip }}",
"client_user_agent": "{{ request.user_agent }}"
},
"custom_data": {
※content_name,contentsなど
{% endfor %}
],
"value": {{ order.total }},
"currency": "JPY"
}
}
],
"access_token": "{{access_token}}"
}
上記の設定で、ピクセルとCAPIのCVが同一のものだとMetaサーバー側で認識し、正しくCV計測(重複除外)される様になりました🙋
正直、慣れていない方からすると「何が書いてあるのかよく分からない…」となると思います💦
もし不明な点があれば、可能な限りお答えさせていただきますので、XのDMからご連絡ください。あどまる
まとめ
いかがだったでしょうか?
Meta広告のCAPIについてなんとなくご理解いただき、そのメリット、重複除外の方法もわかったのではないでしょうか?
(正直よく分からん!というご感想もあるかもしれませんが…)
実際に、自分も1人のWebマーケターとして色々調べていましたが、詳細に解説された情報は見つからずかなり苦労しました。。。泣
そのため、かなりニッチな分野ではあるものの、1人でも多くのMeta広告運用者の方の参考になればと思い記事を書いてみました。
Meta広告の運用において、以下を目指す方々の参考になれば大変嬉しいです。
もし、Meta広告をはじめ、Web広告の運用代行やWebマーケティング全般の支援をご希望の方がいればXからお気軽にDMください🙆
Xアカウント:あどまる
「少しでもこのnoteが役に立った!」という方はXでリポストやコメントをいただけると大変嬉しいです…😭
最後までお読みいただきありがとうございました!
この記事が気に入ったらサポートをしてみませんか?