· 18分で読める

TikTok広告のコンバージョン計測|ピクセル設定・Events API・計測精度の改善

目次閉じる開く

TikTok広告におけるコンバージョン計測の全体像

TikTok広告の配信最適化は、正確なコンバージョンデータがあって初めて機能します。「誰が広告を見て、どの行動をとったか」というシグナルが不足すると、機械学習の精度が下がり、配信効率が悪化します。

TikTokのコンバージョン計測には2つの経路があります。

  • TikTokピクセル: ブラウザ上のJavaScriptからTikTokにイベントを送信する
  • Events API: サーバーからTikTokに直接イベントを送信する

どちらか片方だけでも計測は可能ですが、両方を組み合わせることで計測のカバレッジが大きく改善します。Cookie規制やブラウザの制限が進む現在、ピクセルだけに頼る構成には明確なリスクがあります。

TikTokピクセルの仕組みと設定

TikTokピクセルとは

TikTokピクセルは、Webサイトに設置するJavaScriptタグです。ユーザーがサイト上で特定の行動(購入、フォーム送信など)をとった際に、そのイベントをTikTokの広告プラットフォームへ送信します。

Meta広告のMetaピクセルやGoogle広告のコンバージョンタグと同じ役割を果たすもので、TikTok広告の配信最適化とレポーティングの基盤です。

ピクセルの設置方法

TikTokピクセルの設置方法は2つあります。

1. 手動設置(ベースコード貼り付け)

TikTok広告マネージャーの「イベント」からピクセルコードを取得し、サイトの<head>タグ内に設置します。最もシンプルな方法ですが、サイトのHTMLを直接編集する必要があります。

{/* TikTok Pixel Base Code */
<script>
!function (w, d, t) {
  w.TtsAnalyticsObject=t;var ttq=w[t]=w[t]||[];
  ttq.methods=["page","track","identify","instances",
  "debug","on","off","once","ready","alias","group",
  "enableCookie","disableCookie","holdConsent",
  "revokeConsent","grantConsent"];
  ttq.setAndDefer=function(t,e){
    t[e]=function(){t.push([e].concat(
    Array.prototype.slice.call(arguments,0)))}};
  for(var i=0;i<ttq.methods.length;i++)
    ttq.setAndDefer(ttq,ttq.methods[i]);
  ttq.instance=function(t){for(var e=ttq._i[t]||[],
    n=0;n<ttq.methods.length;n++)
    ttq.setAndDefer(e,ttq.methods[n]);return e};
  ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",
    o=n&&n.partner;ttq._i=ttq._i||{};ttq._i[e]=[];
    ttq._i[e]._u=r;ttq._t=ttq._t||{};ttq._t[e+
    "_"+o]=1;var a=d.createElement("script");
    a.type="text/javascript";a.async=!0;a.src=r+
    "?sdkid="+e+"&lib="+t;var s=d.getElementsByTagName(
    "script")[0];s.parentNode.insertBefore(a,s)};
  ttq.load('YOUR_PIXEL_ID');
  ttq.page();
}(window, document, 'ttq');
</script>

YOUR_PIXEL_IDの箇所に、広告マネージャーで発行されたピクセルIDを入力します。

2. GTM(Google Tag Manager)経由

GTMのカスタムHTMLタグ、またはTikTok公式のGTMテンプレートを使って設置します。サイトのHTMLを直接編集できない場合や、複数の広告タグをGTMで一元管理している場合に適しています。

GTM経由の場合、トリガー設定でイベント発火の条件を柔軟にコントロールできる点もメリットです。

イベントの送信

ピクセルのベースコードを設置しただけでは、ページビューしか計測できません。コンバージョン計測には、コンバージョンが発生するページやアクションに対してイベントコードを追加する必要があります。

// 購入完了イベントの送信例
ttq.track('CompletePayment', {
  content_type: 'product',
  content_id: 'product_123',
  quantity: 1,
  value: 5000,
  currency: 'JPY'
});

ピクセルとEvents APIのデータフロー

TikTokピクセル(ブラウザ経由)とEvents API(サーバー経由)は、それぞれ異なるデータ伝送経路を持ちます。両方を併用し、同一のevent_idで重複排除を行うのがTikTok推奨の構成です。

ピクセル + Events API 併用時のデータフローユーザー(ブラウザ操作)ブラウザTikTokピクセル(JS)WebサーバーGTM SS / 直接APITikTokイベント受信・統合閲覧・購入リクエストピクセル経路ブロッカー・ITPの影響ありEvents API経路ブラウザ制約の影響なし重複排除(デデュプリケーション)同じ event_id を持つイベントを1件として統合ピクセルのみ到達 → カウント / Events APIのみ到達 → カウント両方到達 → 1件に統合(計測カバレッジの向上)

ピクセルは広告ブロッカーやITP(Intelligent Tracking Prevention)の影響を受けます。一方、Events APIはサーバーから直接送信するため、ブラウザ側の制約を回避できます。両方を併用し、event_idで重複を排除することで、計測のカバレッジが最大化されます。

運用メモ TikTokピクセルだけの構成では、iOS 14.5以降のATTオプトアウトや広告ブロッカーにより、実際のコンバージョンの20〜40%が計測漏れになる場合があります。Events APIを併用すると、これらの環境でもサーバー経由でイベントが到達するため、欠損を補完できます。導入直後は、広告マネージャーの「イベント」画面で、ピクセルとEvents APIそれぞれの受信状況と重複排除率を確認してください。

標準イベントとカスタムイベント

TikTokのコンバージョン計測では、標準イベントの利用が推奨されています。標準イベントはTikTokの配信アルゴリズムが意味を理解できるため、最適化の精度に直結します。

TikTok広告 イベント設定体系標準イベント(推奨)ページ閲覧ViewContent … 商品・サービスページの閲覧ClickButton … ボタンクリック購入ファネルAddToCart … カートに追加InitiateCheckout … 購入手続き開始AddPaymentInfo … 支払情報入力PlaceAnOrder … 注文確定CompletePayment .. 決済完了リード獲得SubmitForm … フォーム送信CompleteRegistration .. 会員登録完了Contact … 問い合わせエンゲージメントDownload … ダウンロードSearch … サイト内検索Subscribe … サブスクリプション登録カスタムイベント標準イベントで対応できない独自のユーザー行動を計測する場合に使用例: 動画の50%視聴、特定セクション到達、チャットボット起動、料金シミュレーション完了※ 配信最適化の対象にはなりにくい。分析用途が中心推奨設定の優先順位1. 最終CV(CompletePayment / SubmitForm)2. 中間CV(AddToCart / InitiateCheckout)3. マイクロCV(ViewContent / ClickButton)標準イベントはTikTokの配信アルゴリズムが意味を理解できるため最適化精度に直結する可能な限り標準イベントで対応し、カスタムイベントは補助的に使う

主要パラメータ

イベント送信時には、以下のパラメータを付与することで計測の精度が上がります。

パラメータ用途推奨度
content_typeproductまたはproduct_group高(EC必須)
content_id商品ID(カタログ連携時に使用)高(EC必須)
valueコンバージョンの金額
currency通貨コード(JPY
quantity数量
descriptionイベントの補足情報

特にEC系サイトでは、content_idvalueを正確に送ることが重要です。これらのパラメータがあると、TikTokの入札最適化がROAS(広告費用対効果)ベースで精度高く動きます。

Events APIの設計と実装

Events APIとは

Events APIは、Webサーバーから直接TikTokのサーバーへイベントデータを送信する仕組みです。Meta広告のコンバージョンAPI(CAPI)と同じ考え方で、ブラウザを介さない分、Cookie規制や広告ブロッカーの影響を受けません。

導入方法

Events APIの導入方法は主に3つあります。

1. GTMサーバーサイドコンテナ

GTMのサーバーサイドコンテナにTikTok Events APIのタグテンプレートを追加する方法です。すでにGTMサーバーサイドを運用している場合は最も効率的です。

2. パートナー統合

Shopify、WooCommerceなどの主要ECプラットフォームには、TikTok Events APIの統合機能が用意されています。プラグインを導入するだけで設定が完了するため、技術的な負担が最も低い選択肢です。

3. 直接API実装

自社サーバーからTikTokのエンドポイントにHTTPリクエストを送る方法です。

import requests
import hashlib
import json

ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"
PIXEL_ID = "YOUR_PIXEL_ID"

url = f"https://business-api.tiktok.com/open_api/v1.3/event/track/"

headers = {
    "Content-Type": "application/json",
    "Access-Token": ACCESS_TOKEN
}

payload = {
    "pixel_code": PIXEL_ID,
    "event": "CompletePayment",
    "event_id": "unique_event_id_12345",
    "timestamp": "2026-06-27T10:00:00+09:00",
    "context": {
        "user_agent": "Mozilla/5.0 ...",
        "ip": "203.0.113.1"
    },
    "properties": {
        "value": 5000,
        "currency": "JPY",
        "content_type": "product",
        "contents": [
            {"content_id": "product_123", "quantity": 1}
        ]
    },
    "user": {
        "email": hashlib.sha256(
            "user@example.com".lower().strip().encode()
        ).hexdigest(),
        "phone": hashlib.sha256(
            "+819012345678".encode()
        ).hexdigest()
    }
}

response = requests.post(url, headers=headers, json=payload)

直接API実装は柔軟性が最も高い反面、開発リソースが必要です。ECカートやCRMとの統合が必要な場合に適しています。

アクセストークンの取得

Events APIの利用には、TikTok広告マネージャーでアクセストークンを発行する必要があります。

  1. 広告マネージャーの「イベント」を開く
  2. 対象ピクセルの「設定」を選択する
  3. 「Events API」セクションでアクセストークンを生成する

トークンには有効期限がないため、一度発行すれば継続的に利用できます。ただし、セキュリティの観点から定期的な再発行を推奨します。

GTM連携の詳細

GTM(Google Tag Manager)を使ったTikTokピクセルの設定方法を解説します。

Webコンテナでのピクセル設定

  1. GTMのコミュニティテンプレートギャラリーから「TikTok Pixel」テンプレートを追加する
  2. ピクセルIDを入力し、ベースタグを「All Pages」トリガーで発火させる
  3. コンバージョンイベント用のタグを別途作成し、購入完了ページやフォーム送信時のトリガーに紐づける

GTMを使うメリットは、サイトのHTMLを直接編集せずにピクセルを管理できる点です。イベントパラメータもデータレイヤー変数を通じて柔軟に渡せます。

// データレイヤーへのイベントプッシュ例
dataLayer.push({
  event: 'purchase',
  ecommerce: {
    transaction_id: 'T-12345',
    value: 5000,
    currency: 'JPY',
    items: [{
      item_id: 'product_123',
      quantity: 1,
      price: 5000
    }]
  }
});

サーバーサイドコンテナでのEvents API設定

GTMサーバーサイドコンテナを使えば、ピクセルとEvents APIの両方を一元管理できます。

  1. GCPまたはAWS上にGTMサーバーサイドコンテナをデプロイする
  2. Webコンテナでサーバーサイドコンテナへリクエストを転送するよう設定する
  3. サーバーサイドコンテナにTikTok Events APIのタグテンプレートを追加する
  4. イベントデータのマッピングとアクセストークンを設定する

この構成では、Webコンテナからサーバーサイドコンテナにデータが転送され、そこからTikTokのEvents APIにサーバー間通信で送信されます。Meta広告やGoogle広告のサーバーサイド計測も同じインフラで運用できる点が大きなメリットです。

ピクセルとEvents APIの併用設定

重複排除の実装

ピクセルとEvents APIの両方からイベントを送る場合、event_idによる重複排除が必須です。同じコンバージョンが二重にカウントされると、レポートの数値が実態と乖離し、自動入札の学習にも悪影響を与えます。

実装のポイントは、ブラウザ側で生成したユニークIDを、ピクセルとEvents APIの両方に渡すことです。

// ブラウザ側でユニークなevent_idを生成
const eventId = crypto.randomUUID();

// TikTokピクセルに送信
ttq.track('CompletePayment', {
  value: 5000,
  currency: 'JPY',
  content_type: 'product'
}, { event_id: eventId });

// サーバー側にも同じevent_idを送信
fetch('/api/tiktok-event', {
  method: 'POST',
  body: JSON.stringify({
    event: 'CompletePayment',
    event_id: eventId,
    value: 5000,
    currency: 'JPY'
  })
});

サーバー側で受け取ったevent_idを、Events APIのリクエストにそのまま含めて送信します。TikTok側で同じevent_idのイベントを1件に統合します。

ユーザーマッチング情報

Events APIの効果を最大化するには、ユーザーを特定するための情報を可能な限り送信します。送信するデータはすべてSHA-256でハッシュ化した状態で送ります。

パラメータ優先度備考
メールアドレス小文字化・トリム後にハッシュ化
電話番号国番号(+81)付きでハッシュ化
IPアドレスサーバーで自動取得(ハッシュ化不要)
ユーザーエージェントサーバーで自動取得(ハッシュ化不要)
外部ID自社のユーザーID
ttclidTikTok Click ID(URL付与時)

ttclidはTikTok広告のクリック時にURLパラメータとして付与されるIDです。ランディングページで取得してEvents APIに含めることで、マッチング精度が向上します。

運用メモ ttclidはTikTok広告からのクリック時にURLに自動付与されるパラメータです。このIDをファーストパーティCookieに保存し、コンバージョン時にEvents APIで送信すると、ユーザーマッチングの精度が大幅に上がります。具体的には、ランディングページのJavaScriptでURLからttclidを抽出し、有効期限7日程度のCookieに保存します。コンバージョン発生時にCookieから読み出してサーバーに送る構成が推奨です。

計測精度を高めるための実践的なチェックリスト

導入時の確認項目

  • ピクセルのベースコードが全ページに設置されているか
  • コンバージョンイベントが正しいページ・アクションで発火しているか
  • Events APIのアクセストークンが有効か
  • event_idがピクセルとEvents APIで一致しているか
  • ユーザー情報(メール、電話番号)がSHA-256でハッシュ化されているか
  • ttclidがCookieに保存され、Events APIに送信されているか
  • テストイベントで受信が確認できているか

運用時の定期確認

週次で確認すべき指標

  • イベントマネージャーの受信イベント数(ピクセル経路・Events API経路の内訳)
  • 重複排除率(正常であれば0%に近い)
  • エラー率(Events APIのレスポンスエラー)

月次で確認すべき指標

  • 計測されたCV数と実際のCV数の乖離
  • Events APIのレスポンスタイムの変動
  • アクセストークンの状態

よくあるトラブルと対処法

イベントが受信されない

  • ピクセルIDが正しいか確認する
  • Events APIのアクセストークンが有効か確認する
  • ファイアウォールでTikTokのエンドポイントへの通信がブロックされていないか確認する

コンバージョン数が倍増している

  • event_idの実装漏れが最も多い原因
  • ピクセルとEvents APIで同じイベント名を使っているか確認する
  • イベント名は大文字・小文字を区別するため、表記が一致しているか確認する

計測漏れが疑われる

  • 広告ブロッカーの利用率が高いユーザー層をターゲットにしている場合は、Events API側の受信が増えるのが正常
  • ttclidの保存期間が短すぎないか確認する(推奨は7日以上)

まとめ

TikTok広告のコンバージョン計測は、ピクセル単体からピクセル+Events APIの併用構成へ移行する段階にあります。Cookie規制が強化される中で、サーバーサイド計測の併用は「あると便利」ではなく「必須」になりつつあります。

導入の優先順位としては、まずピクセルで正確なイベント計測を確立し、その上でEvents APIを追加するのが現実的です。GTMサーバーサイドコンテナを利用すれば、Meta広告やGoogle広告のサーバーサイド計測と同じインフラを共有でき、導入・管理の負担を抑えられます。

計測精度の向上は、配信最適化の精度向上に直結します。TikTok広告を運用しているなら、Events APIの導入を優先的に検討してください。

関連記事

この記事をAIと深掘りする

要約・疑問の解消に。記事のタイトル・URL・参照元を入れた質問文が自動で入力されます。

| 共有 はてブ

SIGNALZ メルマガ

厳選した実践ナレッジを週1回お届けします。

SIGNALZ

SIGNALZ

運用型広告の実務経験をもとに、体系的なナレッジを発信しています。

SIGNALZの記事はAIを活用して作成し、10年以上の運用型広告の実務経験をもとに内容を確認・監修しています。制作方針の詳細はサイトについてをご覧ください。

この記事について感想やご質問を送れます

誤りの指摘、補足情報、ご質問など、お気軽にどうぞ。