AppsFlyer
AppsFlyerは、モバイルマーケティング分析およびアトリビューションプラットフォームで、マーケティング分析、モバイルアトリビューション、ディープリンクを通じてアプリの分析と最適化を支援します。
BrazeとAppsFlyerの統合により、AppsFlyerのモバイルインストールアトリビューションデータを活用して、より全体的なキャンペーンを最適化し構築する方法をより深く理解できます。
また、AppsFlyer Audiences統合により、AppsFlyerのオーディエンス(コホート)を直接Brazeに渡すことができ、適切なタイミングで適切なユーザーをターゲットにした強力なカスタマーエンゲージメントキャンペーンを作成できます。
前提条件
| 要件 | 説明 |
|---|---|
| AppsFlyer アカウント | このパートナーシップを利用するには、AppsFlyer アカウントが必要です。 |
| iOS または Android アプリ | この連携は iOS および Android アプリをサポートしています。プラットフォームによっては、アプリケーションにコードスニペットが必要になる場合があります。これらの要件の詳細については、連携プロセスのステップ1を参照してください。 |
| AppsFlyer SDK | 必須の Braze SDKに加えて、AppsFlyer SDKをインストールする必要があります。 |
| メールドメイン設定の完了 | Brazeオンボーディング中のメール設定で、IPとドメインの設定ステップが完了している必要があります。 |
| SSL 証明書 | SSL 証明書が設定されている必要があります。 |
連携
ステップ1: デバイスIDをマッピングする
Androidアプリがある場合、一意のBrazeデバイスIDをAppsFlyerに渡す必要があります。
以下のコード行が正しい場所(Braze SDKの起動後、かつAppsFlyer SDKの初期化コードの前)に挿入されていることを確認してください。詳細については、AppsFlyerのAndroid SDK連携ガイドを参照してください。
val customData = HashMap<String, Any>()
Braze.getInstance(context).getDeviceIdAsync { deviceId ->
customData["brazeCustomerId"] = deviceId
setAdditionalData(customData)
}

2023年2月以前は、AppsFlyerアトリビューション連携でiOSアトリビューションデータを照合するための主要な識別子としてIdentifier for Vendor(IDFV)を使用していました。Objective-Cを使用しているBraze顧客の場合、インストール時にBrazeのdevice_idを取得してAppsFlyerに送信する必要はありません。サービスへの影響はありません。
Swift SDK v5.7.0以降を使用している場合、引き続きIDFVを共通の識別子として使用するには、連携の中断を避けるためにuseUUIDAsDeviceIdフィールドがfalseに設定されていることを確認する必要があります。
trueに設定されている場合は、Brazeが適切にiOSアトリビューションを照合できるよう、アプリインストール時にBrazeのdevice_idをAppsFlyerに渡すためにSwift用のiOSデバイスIDマッピングを実装する必要があります。
let configuration = Braze.Configuration(
apiKey: "<BRAZE_API_KEY>",
endpoint: "<BRAZE_ENDPOINT>")
configuration.useUUIDAsDeviceId = false
let braze = Braze(configuration: configuration)
AppsFlyerLib.shared().customData = ["brazeDeviceId": braze.deviceId]
BRZConfiguration *configurations = [[BRZConfiguration alloc] initWithApiKey:@"BRAZE_API_KEY" endpoint:@"BRAZE_END_POINT"];
[configurations setUseUUIDAsDeviceId:NO];
Braze *braze = [[Braze alloc] initWithConfiguration:configurations];
[[AppsFlyerLib shared] setAdditionalData:@{
@"brazeDeviceId": braze.deviceId
}];
UnityでデバイスIDをマッピングするには、以下を使用します:
Appboy.AppboyBinding.getDeviceId()
Dictionary<string, string> customData = new Dictionary<string, string>();
customData.Add("brazeCustomerId", Appboy.AppboyBinding.getDeviceId());
AppsFlyer.setAdditionalData(customData);
ステップ2: Brazeデータインポートキーを取得する
Brazeで、パートナー連携 > テクノロジーパートナーに移動し、AppsFlyerを選択します。
ここでRESTエンドポイントを確認し、Brazeデータインポートキーを生成します。キーが生成された後、新しいキーを作成するか、既存のキーを無効にすることができます。データインポートキーとRESTエンドポイントは、次のステップでAppsFlyerのダッシュボードでポストバックを設定する際に使用されます。
ステップ3: AppsFlyerのダッシュボードでBrazeを設定する
- AppsFlyerで、ナビゲーションメニューからIntegrated Partnersページに移動します。次にBrazeを検索し、Brazeロゴを選択して設定ウィンドウを開きます。
- Integrationタブ内で、Activate Partnerをオンに切り替えます。
- Brazeダッシュボードで確認したデータインポートキーとRESTエンドポイントを入力します。
- Advanced Privacyをオフに切り替え、設定を保存します。

AppsFlyerのIntegrationタブにBraze RESTエンドポイントを入力する際は、ドメインのみ(例:rest.fra-02.braze.eu)を入力し、https://プロトコルや/attribution/appsflyerパスは含めないでください。AppsFlyerがプロトコルの先頭への追加とパスの末尾への追加を自動的に行います。いずれかを入力に含めると、ポストバックが失敗します。
これらの手順に関する追加情報は、AppsFlyerのドキュメントで確認できます。
ステップ4: 連携を確認する
BrazeのAppsFlyerテクノロジーパートナーページで、接続インジケーターはステップ2でデータインポートAPIキーを生成するまでNot Connectedと表示されます。キーを生成すると、インジケーターがConnectedに変わり、タイムスタンプが表示されます。このタイムスタンプは、AppsFlyerが最後にポストバックを送信した時点ではなく、Brazeで最初に連携が設定された時点(データインポートキーが作成された時点)を示します。
AppsFlyerからインストールアトリビューションデータが流入していることを確認するには、ステップ5を使用してBrazeセグメントフィルターにノンオーガニックインストールデータが表示されることを確認してください。BrazeはAppsFlyerポストバックからのオーガニックインストールを無視し、アトリビューション付きインストールデータとして保存しません。
ステップ5: ユーザーアトリビューションデータを確認する
利用可能なデータフィールド
連携が成功すると、Brazeはすべてのノンオーガニックインストールデータをセグメントフィルターにマッピングします。
| AppsFlyerデータフィールド | Brazeセグメントフィルター |
|---|---|
media_source |
Install Attribution Source |
campaign |
Install Attribution キャンペーン |
af_adset |
Install Attribution Adgroup |
af_ad |
Install Attribution Ad |
Brazeダッシュボードで Install Attribution フィルターを使用して、アトリビューションデータでユーザーベースをセグメント化できます。

また、特定のユーザーのアトリビューションデータは、Brazeダッシュボードの各ユーザーのプロファイルで確認できます。

FacebookおよびX(旧Twitter)キャンペーンのアトリビューションデータは、パートナー経由では利用できません。これらのメディアソースは、パートナーがアトリビューションデータを第三者と共有することを許可していないため、パートナーはそのデータをBrazeに送信できません。
AppsFlyerとBrazeの連携によるディープリンク
ディープリンクとは、アプリやWebサイト内の特定のページや場所にユーザーを誘導するリンクのことで、カスタマイズされたユーザー体験を提供するために使用されます。
ディープリンクは広く利用されていますが、メールに含まれるディープリンクをクリックトラッキング(ユーザーデータの収集に使用されるもう一つの重要な機能)と組み合わせて使用すると、問題が発生することがあります。これは、メールサービスプロバイダー (ESP) がディープリンクをクリック記録用のドメインでラップし、元のリンクが壊れてしまうためです。そのため、ディープリンクをサポートするには追加の設定が必要です。
AppsFlyerはこれらの問題を回避するサービスを提供しており、AppsFlyerがESPサーバーとお客様のドメイン名の間で仲介役として機能します。プロキシとしての役割により、アソシエーションファイル(AASA/アセットリンク)の提供が可能になり、ディープリンクが容易になります。
ステップ1 - クリックトラッキングドメインの作成
Brazeのメール設定ガイダンスの初期要素に従い、メール送信ドメインとクリックトラッキングドメインを作成します。サポートが必要な場合は、Brazeダッシュボードからチケットを起票して、Brazeメールチームに新しいCTDの設定を依頼できます。

既存のクリックトラッキングドメインを使用している場合でも、新しいCTDの作成は必須です。これにより、現在配信中のメールキャンペーンのトラフィックに影響を与えないことが保証されます。

ApsFlyerがSSL証明書を作成します。この段階では、メールリンクは保護されていない可能性が高く、URLプレフィックスがHTTPSではなくHTTPになっています。これは後のステップで解決されます。
ステップ2 - AppsFlyerでOneLinkテンプレートを作成する
OneLinkテンプレートを作成し、「When app is installed」でユニバーサルリンク/アプリリンクを設定します。このテンプレートは、後でメールキャンペーン用のOneLinkリンクを作成する際に使用します。

ユニバーサルリンク/アプリリンクが有効になっている既存のOneLinkテンプレートがある場合は、そのテンプレートを使用できます。
ステップ3 - AppsFlyerでBraze連携を設定する
次に、AppsFlyerでBraze連携を設定します。このステップと次のステップ(「アプリの設定」)は同時に設定できます。 AppsFlyerでBraze連携を設定するには:
1. AppsFlyerのサイドメニューから、Engage > ESP integrationを選択します。 {#1-in-appsflyer-from-the-side-menu-select-engage-esp-integration}

2. Brazeを選択します。 {#2-select-braze}

3. メールキャンペーンに使用するOneLinkテンプレートを選択し、Nextをクリックします。 {#3-select-the-onelink-template-you-want-to-use-for-email-campaigns-then-click-next}

4. クリックトラッキングドメインと「Braze endpoint」の値を入力し、Validate connectionをクリックします。これらはステップ1で作成された新しいCTDとともに提供されたものです。 {#4-enter-your-click-tracking-domain-and-braze-endpoint-value-which-was-provided-with-the-new-ctd-created-in-step-1-then-click-validate-connection}
これにより、クリックトラッキングドメインが入力したエンドポイントを指していることが検証されます。

「Braze Endpoint」とは、このガイドのステップ1でBrazeから提供された詳細情報、具体的には新しいCTDのことです。
次にValidate connectionをクリックします。クリックトラッキングドメインが入力したエンドポイントを指していることが検証されます。 完了したら、Nextをクリックします。
5. リンクトラフィックをAppsFlyerにルーティングします: {#5-route-link-traffic-to-appsflyer}
a. AppsFlyerでカスタマイズされた事前作成済みの手順をコピーし、IT部門またはドメイン管理者に送信します。
管理者は、AppsFlyerが提供した新しいドメインでDNS CNAMEレコードを更新し、メールキャンペーンのトラフィックをESPサーバーからAppsFlyerサーバーにルーティングし直す必要があります。
これにより、リンクがクリックされるたびに、クリックはAppsFlyerにリダイレクトされ、AppsFlyerがさらにESPエンドポイントにリダイレクトします。

b. 手順をコピーして送信した後、Doneをクリックします。
Braze連携が作成されました。

Braze連携のステータスは保留中であり、CNAMEレコードがマッピングされた後にのみ動作を開始します。マッピング後、新しい連携が動作を開始しアクティブになるまで最大24時間かかる場合があります。
ステップ4:アプリを設定する(開発者タスク)
AppsFlyer は、ユニバーサルリンクをサポートするために Web またはアプリチームが従うべき正しいアプリ設定に関するガイダンスを提供しています。
ステップ5:BrazeでSSLクリックトラッキングが有効であることを確認する
この段階で、AppsFlyerでCTDの詳細を共有・検証した後、OneLinkの送信ドメインにSSL証明書があるかどうかを確認するためにテスト送信を実行することをお勧めします。これはメール設定ガイドに沿った手順です。
OneLinkを使用してディープリンクを送信し、品質保証やトラブルシューティングを実行できます。OneLinkの使用方法の詳細については、AppsFlyerドキュメントを参照してください。
CTDリンクがHTTPとして識別された場合は、BrazeのEmail Opsチームに連絡してSSLクリックトラッキングを有効にしてください。これにより、すべてのHTTPリンクが自動的にHTTPSに変換されます。 カスタマーサクセスマネージャーに連絡する際、またはステップ1と同様にBrazeダッシュボードでチケットを作成する際に、以下のサンプルメッセージテキストを使用できます:
Hi Team,
Could you please enable SSL click tracking for CTD XXX? It is currently set to HTTP instead of HTTPS.
BrazeにおけるAppsFlyerクリックトラッキングURL(任意)
AppsFlyerのOneLinkアトリビューションリンクを、プッシュ、メールなどのBrazeキャンペーンで使用できます。これにより、BrazeキャンペーンからのインストールまたはリエンゲージメントのアトリビューションデータをAppsFlyerに送信できます。その結果、マーケティング活動をより効果的に測定し、データドリブン型の意思決定を行うことができます。
AppsFlyerでOneLinkトラッキングURLを作成し、Brazeキャンペーンに直接挿入するだけです。AppsFlyerは確率的アトリビューション手法を使用して、リンクをクリックしたユーザーをアトリビューションします。Brazeキャンペーンからのアトリビューションの精度を向上させるために、AppsFlyerトラッキングリンクにデバイス識別子を付加することをお勧めします。これにより、リンクをクリックしたユーザーを決定論的にアトリビューションできます。
Androidの場合、BrazeではGoogle広告ID(GAID)の収集をオプトインできます。AppsFlyer SDKの連携でもGAIDが収集されます。以下のLiquidロジックを使用して、AppsFlyerクリックトラッキングリンクにGAIDを含めることができます:
{% if most_recently_used_device.${platform} == 'android' %}
aifa={{most_recently_used_device.${google_ad_id}}}
{% endif %}
iOSの場合、BrazeとAppsFlyerの両方がSDK連携を通じてIDFVをネイティブに自動収集します。IDFVをデバイス識別子として使用できます。以下のLiquidロジックを使用して、AppsFlyerクリックトラッキングリンクにIDFVを含めることができます:
{% if most_recently_used_device.${platform} == 'ios' %}
idfv={{most_recently_used_device.${id}}}
{% endif %}