コンテンツに進む

Now booking Shopify builds for Q4 2026.

Check availability

ShopifyでMeta CAPIを設定する方法(2026年ガイド)

ShopifyでMeta Conversions APIを設定する3つの方法(2026年版)。重複排除、イベントマッチ品質、テスト、post-checkout.liquidの現状について。

How to Set Up Meta CAPI on Shopify (2026 Guide)

ブラウザピクセル追跡のみでShopifyにMeta広告を掲載している場合、実際のコンバージョンの約3分の2しかMetaのアルゴリズムに表示されていません。広告ブロッカー、Safari ITP、iOSのプライバシー設定、同意拒否によってそれぞれ一部が失われます。トラフィックの組み合わせによっては、合計損失は20%から60%の間になり、コンバージョンが欠落するたびに、Metaの入札が学習する機会が失われます。

コンバージョンAPIは、ブラウザの代わりにサーバーからイベントを送信することでこれを解決します。このガイドでは、2026年にShopifyで設定する3つの方法、ほとんどの実装で間違っている重複排除の手順、イベントマッチ品質スコアを実際に上げる方法、そして信頼する前にすべてが機能することを確認する方法について説明します。

CAPIが実際にすること

Metaピクセルは、買い物客のブラウザにあるJavaScriptです。それが起動すると、買い物客のデバイスからMetaにイベントデータを送信します。ブラウザの追跡をブロックするすべてのものがピクセルもブロックします。uBlock Origin、SafariのIntelligent Tracking Prevention、iOSのApp Tracking Transparency、FirefoxのEnhanced Tracking Protection、そしてCookie同意拒否などです。

CAPIは、同じイベントをサーバーから送信します。お客様のサーバー(またはサーバーとして機能するサービス)がMetaに直接APIコールを行います。ブラウザもCookieもブロッカーもありません。

Meta自身の推奨は、両方を実行することです。ピクセルはリアルタイムのブラウザコンテキストをキャプチャし、CAPIはブラウザが漏らすものすべてに対して冗長性を提供します。これらを組み合わせることでほぼ完全なカバレッジが得られますが、それは正しく重複排除した場合に限ります。

前提条件

  • データセット(旧称「ピクセル」)を管理する権限を持つMeta Business Managerへのアクセス。
  • イベントマネージャから取得したピクセルID。1つのサイトには正確に1つのピクセルが必要です。同じドメインに複数のピクセルがあると、重複イベント、EMQの混乱、event_idの競合が発生します。
  • CAPIアクセストークン。イベントマネージャ > データセット > 設定 > コンバージョンAPI > アクセストークンを生成。
  • 顧客イベントと販売チャネルの権限を持つShopify管理画面へのアクセス。
  • 実際に購入して返金できるテスト購入。プレビューモードではCAPIが適切に検証されません。

2026年のShopifyチェックアウトの現状

方法を選択する前に、変更された内容を理解してください。Shopifyは、2025年8月28日にPlusマーチャント向けに、2026年8月26日に他のすべてのプラン向けにcheckout.liquidを非推奨にしました。設定 > チェックアウトの「追加スクリプト」フィールドもそれに伴いなくなりました。

その代替として、設定 > 顧客イベントの下にあるカスタムピクセルがあります。これらはサンドボックス化されたiframe内で実行されます。2026年のShopifyでのCAPI実装は、そのサンドボックスを回避するのではなく、それと連携して機能する必要があります。この変更以前に書かれたガイドは、もはや存在しない道筋に導く可能性があります。

3つの方法の比較

方法 設定時間 月額費用 一般的なEMQ 最適な用途
1. ShopifyのFacebook & Instagramチャネル 30分 $0 5-7 Meta広告費が月2万ドル未満で、主要な4イベントのみの場合
2. カスタムピクセル + 直接CAPI 4-8時間 $0-$30 6-8 カスタムイベントが必要な場合、単一プラットフォームに特化する場合
3. サーバーサイドGTM (Stapeまたはセルフホスト) 4-8時間 $20-$300 8-9.5 月5万ドル以上の広告費、複数プラットフォームへのルーティング、エンリッチメント

あなたがどの層に属しているかを正直に判断してください。月に8,000ドルをMetaに費やしているストアは、月に200ドルのサーバーサイドスタックを必要としません。月に15万ドルを費やしているストアは、ネイティブチャネルだけを実行することで実際のお金を無駄にしています。

方法1:ShopifyのネイティブFacebookおよびInstagramチャネル

最速のパスで、費用はゼロ、小規模な広告主にとっては十分に機能します。

  1. Shopify管理画面 > 販売チャネル > Facebook & Instagramを追加。
  2. FacebookアカウントとBusiness Managerを接続。
  3. 正しいピクセルを選択(既存のものがある場合は新規作成しない)。
  4. データ共有の下で、最大を選択。これにより、ブラウザピクセルと並行してサーバーサイドイベント送信が有効になり、Shopifyが自動的に重複排除を処理します。
  5. 市場の顧客データ共有同意設定を完了。

得られるもの:PageView、ViewContent、AddToCart、InitiateCheckout、Purchaseがクライアントサイドとサーバーサイドの両方で送信され、Shopifyによって重複排除されます。

得られないもの:カスタムイベント、カスタムパラメーター、Shopifyが送信する以上のペイロードエンリッチメント、または他の広告プラットフォームへのルーティング。Shopifyが標準の未強化ペイロードを送信するため、EMQは通常5〜7の範囲になります。

方法2:カスタムピクセルと直接CAPI

ネイティブチャネルよりも制御性が高く、月額インフラコストはかかりませんが、コードの記述とメンテナンスは自分で行う必要があります。

ステップ1:カスタムピクセルの作成

Shopify管理画面 > 設定 > 顧客イベント > カスタムピクセルを追加。「Meta CAPIピクセル」など、意味のある名前を付けます。

ステップ2:event_idを指定してブラウザピクセルを発火させる

重要なのは、ブラウザイベントとサーバーイベントの両方が持つ共有event_idを生成することです。

// カスタムピクセルサンドボックス内でMetaピクセルをロード
!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', 'YOUR_PIXEL_ID');

analytics.subscribe("checkout_completed", (event) => {
  const checkout = event.data.checkout;
  const eventId = checkout.order.id;  // 共有の重複排除キー

  fbq('track', 'Purchase', {
    value: checkout.totalPrice.amount,
    currency: checkout.currencyCode,
    content_ids: checkout.lineItems.map(i => i.variant.product.id),
    content_type: 'product',
    num_items: checkout.lineItems.length
  }, { eventID: eventId });
});

ステップ3:サーバーサイドイベントを送信する

サーバーコールは、ピクセルサンドボックスからではなく、サーバーから行う必要があります。Shopifyでの実践的な2つのルートは次のとおりです。

  • Shopify FlowまたはWebhookから小さなサーバーレス関数へ(Cloudflare Worker、Vercel関数、AWS Lambda)。注文作成Webhookを受信し、MetaのConversions APIにポストします。
  • MetaのConversions API Gateway。Metaが提供するホスト型サービスで、インフラを構築することなくサーバーコールを処理します。セットアップには2〜4時間かかります。

サーバーペイロードには、ブラウザイベントと同じevent_idとevent_name、およびハッシュ化された顧客パラメーターを含める必要があります。

{
  "data": [{
    "event_name": "Purchase",
    "event_time": 1757000000,
    "event_id": "5432109876543",
    "action_source": "website",
    "event_source_url": "https://yourstore.com/checkouts/thank_you",
    "user_data": {
      "em": ["<sha256 of lowercase trimmed email>"],
      "ph": ["<sha256 of E.164 phone>"],
      "fn": ["<sha256 of lowercase first name>"],
      "ln": ["<sha256 of lowercase last name>"],
      "ct": ["<sha256 of lowercase city>"],
      "st": ["<sha256 of lowercase state>"],
      "zp": ["<sha256 of zip>"],
      "country": ["<sha256 of country code>"],
      "client_ip_address": "203.0.113.45",
      "client_user_agent": "Mozilla/5.0 ...",
      "fbc": "fb.1.1757000000.IwAR...",
      "fbp": "fb.1.1757000000.1234567890"
    },
    "custom_data": {
      "value": 89.00,
      "currency": "USD",
      "content_ids": ["7891234567890"],
      "content_type": "product"
    }
  }]
}

すべての個人識別子は、ハッシュ化する前にSHA-256でハッシュ化され、小文字に変換され、トリミングされている必要があります。Metaはハッシュ化されていないPIIを拒否します。

方法3:サーバーサイドGTM

最も高いEMQルートであり、複数のプラットフォームにスケールするルートです。セットアップの概要:

  1. Googleタグマネージャーでサーバーコンテナを作成します。
  2. Stape(月額約20~30ドル)、Google Cloud Run、またはセルフホスト型Dockerでホストします。
  3. CNAMEを介してファーストパーティカスタムサブドメインを追加します。広告ブロッカーが認識するtracking.やanalytics.ではなく、data.yourstore.comのような中立的な名前を使用します。
  4. Shopifyカスタムピクセルで、チェックアウトイベントをサーバーコンテナに転送します。
  5. サーバーコンテナにMeta Conversions APIタグを追加し、イベントデータとユーザーパラメーターをマッピングします。
  6. ブラウザピクセルとサーバータグの両方から同じevent_idを送信します。

知っておくべき注意点として、Safari ITPはCNAMEクローキング(CNAMEを介してサードパーティホストを指すファーストパーティサブドメイン)を検出すると、サーバー設定のCookieを7日間に制限します。Safariの利用が多いストアでは、約束された400日のCookie寿命は完全に維持されません。仮定するのではなく、DNS設定を確認してください。

GA4とGoogle広告を含む完全なサーバーサイドGTMのウォークスルーが必要な場合は、それは別のプロジェクトです。このガイドはMeta側に焦点を当てています。

重複排除:ほとんどの実装が失敗するステップ

Metaは、ブラウザイベントとサーバーイベント間で完全に一致する必要がある2つのフィールドを使用して重複排除を行います。

  • event_id — その特定のコンバージョンの一意の識別子。Shopifyの注文IDを使用します。
  • event_name — 完全に同一である必要があります。両方ともPurchaseである必要があり、一方がPurchaseで他方がpurchaseであってはいけません。

Metaが両方のソースから同じevent_idを検出すると、コンバージョンを1回カウントし、2つのペイロードのうちよりリッチな方を保持します。ブラウザイベントがブロックされた場合でも、サーバーイベントは配信されます。

このステップをスキップすると、報告されるコンバージョンが倍増します。Advantage+ ショッピングキャンペーンは架空の収益を追いかけるようになり、ROASは素晴らしいものに見えますが、その混乱を解消するには正しい設定を行うよりも時間がかかります。

イベントマネージャ > データセット > イベントで重複排除を確認してください。Purchaseイベントの「重複排除済み」ラベルを探します。別々のPurchaseカウントが2つ表示される場合、event_idが一致していません。

イベントマッチ品質:実際に向上させる方法

EMQは、Metaがイベントを実際のFacebookユーザープロファイルにどの程度確信を持って結びつけられるかを示す0〜10のスコアです。これは、入札においてコンバージョンがどの程度の重みを持つかを直接左右します。

EMQへの影響度順に並べたパラメータは以下の通りです。

パラメータ フィールド 影響
ハッシュ化されたメールアドレス em 最も効果が高い単一の要素
ハッシュ化された電話番号 ph 高い
クリックID fbc 高い(広告クリックに直接関連する)
ブラウザID fbp 中高
IPアドレス client_ip_address 中
ユーザーエージェント client_user_agent 中
名前、市区町村、都道府県、郵便番号、国 fn ln ct st zp country 徐々に加算されるが合計すると大きい
外部ID external_id リピーターに有用

各イベントで正当に保有しているすべてのフィールドを送信してください。6未満の場合、Metaは一致に苦労しています。7以上を目指してください。8以上は強力です。

EMQのわずかな改善は、見た目以上に重要です。あるShopifyの事例では、EMQが8.6から9.3に(1点未満の)改善しただけで、CPAが18%減少し、マッチ率が24%増加し、ROASが22%向上しました。これは、広告、オーディエンス、予算に変更を加えることなく達成されたものです。

信頼する前にテストする

  1. イベントマネージャーのテストイベントツール。イベントマネージャー > データセット > テストイベント。テストイベントコードをペイロードに追加し、テスト注文を行います。ブラウザとサーバーの両方のイベントが到着し、Metaがそれらを重複排除済みとマークするはずです。
  2. 実際のテスト注文を行う。少額割引で低価格にするか、後で返金します。カスタムピクセルの動作は、これなしでは完全に検証できません。
  3. 購入数を確認する。イベントマネージャーで、1つの注文に対して1つの購入が表示されるはずで、2つではありません。
  4. EMQを確認する。イベントマネージャー > イベント > 購入 > イベントマッチ品質。判断する前に、24~48時間の実際のトラフィックを与えてください。
  5. Shopifyと照合する。1週間後、Metaの購入数とShopifyの注文数を同じ期間で比較します。5~10%以内であれば健全です。それよりも広い場合は、何かが欠落しているか重複していることを意味します。

ShopifyにおけるMeta CAPIの一般的な間違い

  • ネイティブチャネルとカスタムCAPIを同時に実行する。両方とも購入イベントを発火させます。3つのソースすべてでevent_idが一致しないと、3重カウントになります。サーバーサイドのパスは1つに絞ってください。
  • 1つのドメインで複数のピクセルを使用する。event_idの競合やEMQの低下を引き起こします。1つのサイトには1つのピクセルです。
  • PIIがハッシュ化されていない、または誤ったハッシュ化。メールアドレスはSHA-256処理の前に小文字に変換され、トリミングされている必要があります。電話番号はE.164形式である必要があります。Metaは不正な識別子をサイレントに破棄するため、EMQが静かに制限されます。
  • fbcとfbpの欠落。これらは広告クリックへの直接リンクです。ブラウザでこれらをキャプチャし、サーバーイベントに渡します。
  • 同意の無視。EUおよび英国のトラフィックの場合、CAPIイベントは同意状態を尊重する必要があります。カスタムピクセルで権限を設定し、それに応じてサーバーイベントを制限します。
  • 最初の1週間で結果を判断する。データ品質はすぐに向上しますが、アルゴリズムのパフォーマンスがそれを反映するまでには30~60日かかります。
  • サンキューページが公開されていることを確認していない。チェックアウトの拡張性において、サンキューページと注文状況ページが公開されていない場合、カスタムピクセルが発火するページがなく、購入イベントが静かに消滅します。

この作業を委託すべき時

Shopifyのネイティブチャネルは、どのストアオーナーでも30分でできる作業です。適切な重複排除、ハッシュ化、同意ゲート、EMQ最適化を含むカスタムCAPIは、種類の異なる作業であり、失敗した場合の兆候は静かです。つまり、数ヶ月間、入札が誤ったデータに基づいて実行されている間も、数字は問題ないように見えます。

Metaにそれなりの金額を費やしていて、EMQが7未満の場合、またはMetaで報告されている購入数とShopifyの注文数が10%以上異なる場合、そのギャップは修正にかかる費用よりも高くついています。Metaのアルゴリズムが実際に最適化できるShopifyのトラッキングとアナリティクス設定をどのように構築しているかをご覧ください。

よくある質問

Meta PixelとMeta CAPIの違いは何ですか?

Pixelは、買い物客のデバイスから発火するブラウザ側のJavaScriptであり、広告ブロッカー、Safari ITP、iOSのプライバシー設定によってブロックされます。CAPIは、それらのブロッカーが適用されないサーバーから同じイベントを送信します。ブラウザのみのセットアップでは、コンバージョンイベントの20〜35%が失われると推定されており、中には30〜60%にも達するという測定結果もあります。Metaは重複排除機能を使って両方を実行することを推奨しています。

ShopifyのネイティブMeta統合だけで十分ですか、それともカスタムCAPIが必要ですか?

ShopifyのFacebookおよびInstagramチャネルは、4つの主要なコンバージョンに対してサーバーサイドイベントを実行し、通常、Metaへの月間広告費が約2万ドル未満のストアには十分です。それ以上の規模の場合、またはカスタムイベント、ペイロードエンリッチメント、複数プラットフォームへのルーティングが必要な場合は、サーバーサイドGTMまたはマネージドサービスを介したカスタムCAPIセットアップの方が、イベントマッチ品質が格段に向上します。

良いイベントマッチ品質スコアとは何ですか?

EMQは0〜10点で採点されます。6未満は、Metaがイベントを実際のユーザーにマッチングさせるのに苦労していることを意味します。7以上を目指し、8以上は強力です。小さな改善でも意味があります。ある事例では、EMQが8.6から9.3に上昇しただけで、広告や予算に変更を加えることなくCPAが18%減少し、ROASが22%向上しました。

CAPIがコンバージョンを二重カウントするのを防ぐにはどうすればよいですか?

同じコンバージョンについて、PixelとCAPIの両方から同じevent_idとevent_nameを送信します。Metaはこれらを照合し、よりリッチなペイロードを保持してコンバージョンを1回カウントします。通常、注文IDがevent_idとして使用されます。これをスキップすると、報告されるコンバージョンが倍増し、入札が架空の収益を追いかけることになります。

CAPIが広告パフォーマンスを向上させるまでどのくらいかかりますか?

データの品質はすぐに向上しますが、Metaのアルゴリズムがそれを利用するには時間が必要です。改善されたシグナルが配信とコスト効率に反映されるまで、30〜60日ほどかかると予想されます。CAPIを初週の数値で判断しないでください。

Want a real number for your store?

Send us the URL and the catalog size. We will come back with a fixed quote and the template list it covers, no call required unless you want one.

Get a build quote

Ritik Verma

Founder and Managing Director, 7SEA Marketing™

Ritik founded 7SEA in 2020 and still reviews every scope before it goes out. He writes here about the parts of running an ecommerce agency that nobody publishes.