AppsFlyer × TikTok連携ガイド|
SRN設定・ポストバック・イベントマッピング手順
TikTok広告でアプリインストールやアプリ内イベントを計測するには、MMP(モバイル計測パートナー)との連携が不可欠です。本記事では、AppsFlyerとTikTok広告の連携設定を5つのステップで解説します。SRN特有の仕組み、イベントマッピング、アトリビューション窓の設計、テスト方法、よくあるトラブルの対処法まで網羅しています。
この記事のポイント
- TikTokはSRN(Self-Reporting Network)のため、一般的なポストバック設定は不要。APIベースで自動連携される
- AppsFlyer管理画面でのパートナー有効化 → TikTok側での承認 → イベントマッピング → アトリビューション窓設定 → テストの5ステップで完了
- TikTok管理画面とAppsFlyerのCV数差異はSRN特有の仕様。アトリビューション窓の統一が差異縮小の第一歩
AppsFlyerでTikTok連携が必要な理由
TikTok広告でアプリプロモーションを行う場合、「広告をクリック・視聴したユーザーが実際にインストールやアプリ内アクションに至ったか」を正確に計測する必要があります。この計測を担うのが、AppsFlyer等のMMP(Mobile Measurement Partner)です。
MMPを連携せずにTikTok広告を運用すると、以下の問題が発生します。
- 成果の帰属が不正確:どの広告・クリエイティブがインストールに貢献したか分からない
- 最適化が効かない:TikTokの機械学習がコンバージョンデータを受け取れず、配信最適化の精度が低下する
- 他媒体との横比較ができない:TikTok単体の管理画面数値だけでは、他チャネルとの公平な比較が困難
AppsFlyerは国内のアプリ広告主に最も広く利用されているMMPの一つであり、TikTokとの連携実績も豊富です。正確なアトリビューションデータに基づいた運用改善を行うために、初期設定の段階で正しく連携しておくことが重要です。
連携の全体像 ― TikTokはSRN(Self-Reporting Network)
TikTokは、GoogleやMetaと同様にSRN(Self-Reporting Network)に分類されます。SRNとは、アトリビューション判定を自社側で行い、その結果をMMPにAPIで報告するネットワークのことです。
通常のアドネットワーク(非SRN)では、MMPがクリック/インプレッションのログを直接受け取り、アトリビューション判定を行います。一方、SRNの場合は以下のような流れになります。
- ユーザーがTikTok上で広告をクリック/視聴する
- ユーザーがアプリをインストールし起動する
- AppsFlyer SDKがインストールを検知し、TikTokのAPIに問い合わせる
- TikTok側が「このユーザーは自社広告に接触した」と判定し、AppsFlyerに返答する
- AppsFlyerが最終的なアトリビューション判定を行い、管理画面に反映する
このため、一般的なアドネットワークで必要なポストバックURL(サーバー間通信の設定)は不要です。AppsFlyer管理画面でパートナーを有効化し、TikTok側で承認するだけで連携が完了します。
STEP 1:AppsFlyer管理画面でTikTok for Businessを有効化
まず、AppsFlyer管理画面でTikTokをパートナーとして追加し、有効化します。
- AppsFlyerにログインし、対象アプリを選択する
- 左メニューから「設定」→「連携パートナー」を開く
- 検索ボックスに「TikTok」と入力し、「TikTok for Business」を選択する
- 「連携」タブで「パートナーを有効化」をオンにする
- TikTok Ads ManagerのアプリID(App ID)を入力する
この時点で、AppsFlyer側の基本設定は完了です。次にTikTok Ads Manager側での承認作業に進みます。
注意点
AppsFlyerのアカウントに対象アプリが登録済みで、AppsFlyer SDKがアプリに正しく実装されていることが前提です。SDK未実装の状態ではインストール検知自体ができないため、連携を設定しても計測は開始されません。
STEP 2:TikTok Ads ManagerでAppsFlyerとの連携を承認
TikTok側でもAppsFlyerとの連携を承認する必要があります。
- TikTok Ads Managerにログインする
- 上部メニューの「アセット」→「イベント」を開く
- 「アプリイベントの管理」セクションで対象アプリを選択する
- 計測パートナーとして「AppsFlyer」を選択する
- AppsFlyer側で設定したアプリIDが一致していることを確認し、連携を承認する
双方の管理画面でアプリIDが一致していれば、API連携が自動的に確立されます。承認完了後、数分〜数十分でデータの受け渡しが開始されます。
STEP 3:イベントマッピング設定
インストール計測だけでなく、アプリ内のコンバージョンイベント(登録、課金、購入など)もTikTok側に連携することで、イベント単位での最適化配信が可能になります。
AppsFlyer管理画面の「TikTok for Business」パートナー設定内の「アプリ内イベントポストバック」タブで、以下の設定を行います。
主要なマッピング対象イベント
- af_complete_registration:会員登録完了。TikTok側イベント名「Registration」にマッピング
- af_purchase:購入完了。TikTok側「Purchase」にマッピング。収益値(revenue)も連携可能
- af_subscribe:サブスクリプション開始。TikTok側「Subscribe」にマッピング
- af_add_to_cart:カート追加。TikTok側「AddToCart」にマッピング
- カスタムイベント:アプリ独自のイベント(チュートリアル完了、レベル達成など)も任意にマッピング可能
イベントマッピングでは、AppsFlyerのSDKイベント名とTikTok側のイベント名を正確に一致させることが最も重要です。名前の不一致(大文字小文字、スペースの有無を含む)はイベント未計測の最大の原因となります。
送信対象の選択
イベントデータの送信範囲は、以下の3つから選択できます。
- 「TikTok for Businessに帰属するもののみ」:TikTok経由のインストールユーザーのイベントのみ送信(推奨)
- 「すべてのメディアソース」:全チャネル経由ユーザーのイベントを送信。TikTok側のオーディエンス構築に有用だが、データ量が増大する
- 「なし」:イベントを送信しない
STEP 4:アトリビューション窓の設定
アトリビューション窓(Lookback Window)は、「広告接触からインストールまでの有効期間」を定義する設定です。この設定が適切でないと、成果の過大計上・過小計上が発生します。
クリックスルーアトリビューション
ユーザーが広告をクリックしてからインストールに至るまでの有効期間です。
- AppsFlyerのデフォルト:7日間
- TikTokのデフォルト:7日間
- 推奨設定:7日間(両者を揃えることで数値差異を最小化)
ビュースルーアトリビューション
ユーザーが広告を視聴(クリックはしていない)してからインストールに至るまでの有効期間です。
- AppsFlyerのデフォルト:1日間
- TikTokのデフォルト:1日間
- 推奨設定:1日間。ビュースルーは成果を過大に計上しやすいため、短めの設定が望ましい
クリックスルーとビュースルーの窓をAppsFlyerとTikTokの双方で同じ値に揃えることが、データ差異を抑える最も効果的な方法です。窓を変更する場合は、両方の管理画面で同時に変更してください。
STEP 5:テスト方法
設定が完了したら、実際にテストデバイスでインストール〜イベント発火の一連の流れを確認します。本番配信前のテストは必須です。
テスト手順
- テストデバイスを登録する:AppsFlyer管理画面の「テストデバイス」にデバイスのAdvertising ID(IDFA/GAID)を追加する
- アプリをアンインストールする:テストデバイスから対象アプリを完全に削除する(既存インストールが残っているとリアトリビューションとして扱われる)
- TikTok広告をクリックする:TikTok Ads Managerでテスト用のキャンペーンを配信し、テストデバイスで広告をクリックする
- アプリをインストール・起動する:ストアからアプリをインストールし、起動する
- アプリ内イベントを発火させる:登録、購入など、マッピング済みのイベントをテストデバイス上で実行する
- 管理画面で確認する:AppsFlyer管理画面のリアルタイムログ(「概要」→「アクティビティログ」)でインストールとイベントが記録されていること、メディアソースが「tiktokads_int」と表示されていることを確認する
テストが成功すれば、TikTok Ads Managerの「イベント」画面にもイベントデータが反映されます。反映には最大で数時間かかる場合があります。
よくあるトラブルと対処法
TikTok管理画面とAppsFlyerのCV数が合わない
SRN特有の問題として、TikTok管理画面とAppsFlyerの管理画面でコンバージョン数が一致しないことがあります。主な原因と対処法は以下の通りです。
- アトリビューション窓の不一致:TikTok側とAppsFlyer側で窓の長さが異なると、計上対象のインストールが変わる。両管理画面で同一値に設定する
- ビュースルーの計上ロジック差:TikTokは動画の一定秒数視聴をビュースルーとみなすが、AppsFlyerとの定義が微妙に異なる場合がある
- タイムゾーンの違い:TikTokはUTC、AppsFlyerはアプリ設定のタイムゾーンで集計するため、日次レポートで差が生じやすい
- 不正検知(Protect360):AppsFlyerの不正検知機能が有効な場合、フラウドと判定されたインストールはAppsFlyer側では除外される
完全な一致は困難ですが、10〜20%以内の差異であれば許容範囲です。差異が大きい場合は上記の設定を一つずつ確認してください。
イベントが飛ばない
マッピング済みのイベントがAppsFlyer管理画面に反映されない場合は、以下を確認します。
- SDK実装漏れ:該当イベントのSDKコードがアプリに実装されているか開発チームに確認する
- イベント名の不一致:SDK側で送信しているイベント名と、AppsFlyer管理画面で設定したマッピング名が完全に一致しているか(大文字/小文字、アンダースコアの有無を含めて)確認する
- SDKバージョン:古いSDKバージョンでは一部イベントが正しく送信されない場合がある。最新版へのアップデートを推奨
- テストデバイスの登録漏れ:テスト時にデバイスが正しく登録されていないと、ログに反映されない
ビュースルーアトリビューションの扱い
ビュースルーアトリビューション(VTA)は、広告を「見たがクリックはしなかった」ユーザーのインストールを計測する仕組みです。TikTokは動画プラットフォームという特性上、VTAの比率が他媒体より高くなる傾向があります。
VTAを有効にすると計測されるインストール数は増えますが、実際の広告効果を過大評価するリスクがあります。運用初期はVTAを有効にしつつ、AppsFlyerのレポートでクリックスルーとビュースルーを分離して分析し、VTA経由のユーザーの質(後続イベントの発生率など)を検証することを推奨します。
SKAN連携時の追加設定
iOS 14.5以降、AppleのATT(App Tracking Transparency)フレームワークにより、ユーザーのトラッキング許諾が必要になりました。許諾が得られない場合、従来のIDFAベースのアトリビューションは使用できません。代替手段としてSKAdNetwork(SKAN)による計測が必要です。
SKAN連携に必要な追加設定は以下の通りです。
- AppsFlyer SDKのバージョン確認:SKAN対応にはSDKバージョン6.2.3以上が必要
- SKAN Conversion Studioの設定:AppsFlyer管理画面の「SKAN Conversion Studio」で、Conversion Value(0〜63)とアプリ内イベントの対応関係を定義する
- Conversion Valueの設計:64パターンしかないため、計測したいイベントの優先順位を決め、最も重要な指標(収益レンジ、イベント到達段階など)に割り当てる
- タイマー設定:SKANのConversion Valueは最後の更新から24時間でロックされる。ユーザーの主要行動が24時間以内に完了するよう設計する
TikTok側ではSKAN固有の追加設定は不要ですが、AppsFlyer側の設定が正しく完了していれば、SKANレポートは自動的にAppsFlyer管理画面に集約されます。
計測環境の構築もZVAがサポート:ZVAでは、クリエイティブ制作だけでなくMMP連携やアトリビューション設定のサポートも行っています。成果報酬型のため、計測が正しく機能し成果が正確に把握できる状態を作ることが、ZVA自身の利益にも直結します。「設定が合っているか不安」「数値の差異が大きい」といった課題があれば、お気軽にご相談ください。
まとめ
AppsFlyerとTikTokの連携は、SRNの仕組みにより一般的なアドネットワークよりもシンプルです。ポストバックURLの手動設定は不要で、双方の管理画面でパートナーを有効化・承認するだけで基本連携が完了します。
ただし、イベントマッピングの正確性、アトリビューション窓の統一、テストの実施を怠ると、計測不備や数値差異に悩まされることになります。特にアプリ広告ではCPI/CPAの正確な把握が運用改善の起点となるため、初期設定の段階で正しく構築しておくことが成果への最短ルートです。