cPixelが購入を一度だけカウントする仕組み
cPixelは購入の二重カウントをどうやって防ぎますか?
cPixelは各Shopify購入を、ストアとチェックアウトから作られる1つのイベントIDのもとで、接続済みの各アカウントに1回だけ送信し、サーバー送信が有効な間はMetaのブラウザ側Purchaseをオフにします。その他のイベントはブラウザまたはサーバーから、あるいは両方から共有の1つのIDで送信されます。それでも残る重複は、たいてい別のアプリやタグが原因です。
このIDは注文IDではなく、ストアのmyshopify.comアドレスとチェックアウトトークンのハッシュであるため、買い物客のブラウザとcPixelのサーバーはそれぞれ独立して同じ値にたどり着きます。同じプラットフォームに接続したすべてのアカウントがこのIDを受け取り、cPixelは同じピクセルを2回接続することはありません。その他のほとんどのイベントにはShopify自身のイベントIDが使われます。オンラインチェックアウト以外の注文は、オンにすると注文からIDが作られ、GA4にのみ送られる返金には独自のIDが付きます。
各プラットフォームはどのIDで重複排除しますか?
各プラットフォームには独自のキーがあります。Meta、TikTok、OpenAI Ads、Pinterest、Snapchatはイベントid、GA4とGoogle Adsはトランザクションidです。cPixelは各イベントを、そのプラットフォームが照合するキーのもとで、1回、または重複を許容して2回送信します。
| プラットフォーム | 重複排除の基準 | 有効期間 | cPixelが送信する内容 |
|---|---|---|---|
| Meta | イベント名とイベントID、同一ピクセル内。基本的に最初に受け取ったものを残す | 48時間 | 閲覧とチェックアウトのイベントは両方から1つのIDで、Purchaseはサーバーのみから |
| TikTok | イベントとイベントID。最初に受け取ったものを残す | 48時間 | Pageview以外はすべてサーバーから。Pageviewは両方から1つのIDで送信 |
| GA4 | トランザクションID(ウェブストリーム上) | 明記なし | 購入はサーバーから(注文IDをトランザクションIDとして使用)。それ以外はブラウザから |
| OpenAI Ads | ピクセルID、イベント名、id。最初に受け取ったものが優先 |
明記なし | チェックアウトと購入はサーバーから。それ以外はブラウザタグから |
| イベント名とイベントID。最初に取得したものを残す | 48時間 | チェックアウトと購入はサーバーから。それ以外はブラウザタグから | |
| Snapchat | 独自の重複排除ID。購入はさらに注文IDでも | 48時間(注文IDによるものは30日間) | チェックアウト、支払い情報、購入はサーバーから。それ以外はブラウザタグから |
| Google Ads | トランザクションID(1つのコンバージョンアクション内) | 明記なし | 購入はThank youページのブラウザタグから、注文IDとともに |
出典(2026年9月24日確認):Meta、TikTok、GA4、OpenAI、Pinterest、Snap、Google Ads。
ライブでは、サーバー送信の詳細に「イベントIDで重複排除」のようにキーの名前が表示されます。これはプラットフォームが照合に使うキーであり、実際にペアがマージされたことの証明ではありません。
Metaが購入をサーバーからのみ受け取るのはなぜですか?
Metaは、cPixelが購入を両方の経路から送信できてしまう唯一のプラットフォームであり、1件のコピーを二重にカウントすることはできないためです。サーバー側のコピーはShopifyの注文データから作られるため買い物客のブラウザに依存せず、Metaが顧客照合に使う詳細情報もより多く含んでいます。
Metaのブラウザ側Purchaseは、そのピクセルへのcPixelのサーバー送信が有効でない間(トークンがない、Metaがトークンを拒否した、サーバーからイベントを送信するがオフ、またはFreeプランがサーバー送信を一時停止している)にのみ発火します。いずれの場合も、Metaは1つの注文につき1件のPurchaseを受け取ります。
ライブでは、Metaは購入のブラウザ行ではなくサーバー行に表示されます。Meta Events Managerでは、Purchaseは Conversions API経由で届き、その他のイベントは両方から送信されるため「Multiple」と表示されます。
それでも二重にカウントされることがあるのはどんな場合ですか?
同じピクセルに送信する別のツールがある場合、またはプラットフォームの有効期間が過ぎてから再送した場合です。cPixelは別のアプリのイベントを重複排除できません。各アプリが独自のイベントIDを作るため、プラットフォームには2件の購入として見えてしまいます。
よくある2つ目の送信元は、Facebook & InstagramやGoogle & YouTubeなどプラットフォーム自身のShopifyアプリ、別のトラッキングアプリやカスタムピクセル、そしてテーマに貼り付けられたピクセルコードです。cPixel自身の通知の言葉を借りれば、重複はしばしば「注文の売上は正しく見えたままページビューだけが二重になる」形で現れるため、購入だけでなくページビューも確認してください。解決策は1つのピクセルにつき送信元を1つにすることです:cPixelとFacebook & Instagramアプリを併用する。
2つ目の送信元はどうやって見つけますか?
まずcPixelの送信先ページを確認し、その後プラットフォーム側でも確認します。cPixelは1日1回、テーマに書き込まれたタグとShopifyに登録されたピクセルをストアフロントから読み取り、重複があればcPixel も送信しているプラットフォームに、別のアプリが設定されていますの下に一覧表示します。
- cPixelで送信先を開き、各検出結果の下にある対処方法を読みます。
- ShopifyでSettings → Customer eventsに進み、同じプラットフォームに送信している可能性のあるアプリのピクセルとカスタムピクセルをすべて確認します。
- cPixelでライブを開き、セッションを開始をクリックして実際に注文し、cPixelがどのアカウントに送信したかを確認します。
- プラットフォーム側で、その注文が1件の購入として記録されているか確認します。Meta Events Managerで、ブラウザとConversions APIの両方からPurchaseが届いている場合は2つ目の送信元があります。cPixelのブラウザ側Purchaseは、サーバー送信が有効な間はオフになるためです。
このスキャンは実際に発火したものではなく設定内容を報告するもので、パスワード保護されたストアは読み取れません。そのため、通知がないからといって2つ目の送信元がないとは限りません。テーマのコード、タグマネージャー、Metaのイベント設定ツールについては、MetaがShopifyの購入を二重にカウントする理由をご覧ください。
購入を再送するとどうなりますか?
元のイベントIDがそのまま使われるため、最初のコピーをまだ覚えているプラットフォームは1件のまま保持します。送信失敗後のリトライ、Freeプランの一時停止中に保留された注文の再送、Webhookが届かなかった注文の夜間修復、そしてライブのイベントを再送は、いずれも同じIDを使い回します。
制限となるのはプラットフォームの有効期間です。Metaは48時間以内で重複排除を行うため、cPixelが保留注文を再送する際、その期間を過ぎた注文についてはMetaへの送信をスキップします。また夜間修復の対象は前日の注文のみで、MetaとTikTokの有効期間内に収まります。
有料プランのイベントを再送は、元のIDのまま、接続済みのすべてのアカウントに購入を再送信します。数字を水増しするためではなく、届かなかった購入のために使ってください。48時間を過ぎると、Metaへの再送によって購入が二重にカウントされることがあります。
