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

2023年2月以前のAppsFlyerアトリビューション統合では、iOSアトリビューションデータを照合するための主要識別子としてIDFV(Identifier for Vendor)を使用していました。Objective-Cを使用しているBraze顧客は、サービスの中断がないため、インストール時にBrazeのdevice_idを取得してAppsFlyerに送信する必要はありません。
Swift SDK v5.7.0+を使用している場合、相互識別子としてIDFVを引き続き使用するには、統合の中断を避けるためにuseUUIDAsDeviceIdフィールドがfalseに設定されていることを確認する必要があります。
trueに設定している場合、BrazeがiOSアトリビューションを適切に照合できるように、アプリのインストール時にAppsFlyerにBrazeのdevice_idを渡すために、Swift用のiOSデバイスIDマッピングを実装する必要があります。
1
2
3
4
5
6
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]
1
2
3
4
5
6
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をマッピングするには、以下を使用します。
1
2
3
4
Appboy.AppboyBinding.getDeviceId()
Dictionary<string, string> customData = new Dictionary<string, string>();
customData.Add("brazeCustomerId", Appboy.AppboyBinding.getDeviceId());
AppsFlyer.setAdditionalData(customData);
ステップ2: Brazeデータインポートキーを取得する
Brazeで、Partner Integrations > Technology Partnersに移動し、AppsFlyerを選択します。
ここで、RESTエンドポイントを確認し、Brazeデータインポートキーを生成します。キーが生成されたら、新しいキーを作成するか、既存のキーを無効にできます。データインポートキーとRESTエンドポイントは、AppsFlyerのダッシュボードでポストバックを設定する際に次のステップで使用されます。
ステップ3: AppsFlyerのダッシュボードでBrazeを設定する
- AppsFlyerで、左側のバーのIntegrated Partnersページに移動します。次にBrazeを検索し、Brazeのロゴを選択すると設定ウィンドウが開きます。
- IntegrationタブでActivate Partnerをオンにします。
- Brazeダッシュボードで確認したデータインポートキーとRESTエンドポイントを入力します。
- Advanced Privacyをオフに切り替え、設定を保存します。

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

さらに、特定のユーザーのアトリビューションデータは、Brazeダッシュボードの各ユーザーのプロファイルで利用可能です。

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

既存のCTDを使用している場合でも、新しいCTDの作成は必須です。これにより、現在のライブメールCampaignsのトラフィックに影響を与えることはありません。

AppsFlyerがSSL証明書を作成します。この段階では、メールのリンクはセキュリティで保護されていない可能性が高く、URLプレフィックスがHTTPSではなくHTTPであることを意味します。これは後のステップで解決されます。
ステップ2 - AppsFlyerでOneLinkテンプレートを作成する
OneLinkテンプレートを作成し、「When app is installed」でユニバーサルリンク/アプリリンクを設定します。このテンプレートは、後でメールCampaigns用の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. メールCampaignsに使用するOneLinkテンプレートを選択し、「Next」をクリックします。 {#3-select-the-onelink-template-you-want-to-use-for-email-campaigns-then-click-next}

4. ステップ1で作成した新しいCTDで提供されたクリック追跡ドメインと「Braze endpoint」の値を入力し、「Validate connection」をクリックします。 {#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レコードを更新することにより、メールCampaignsのトラフィックを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のメールオペレーションチームに連絡し、SSLクリックトラッキングを有効にしてください。これにより、すべてのHTTPリンクが自動的にHTTPSに変換されます。 カスタマーサクセスマネージャーに連絡する際、またはステップ1と同様にBrazeダッシュボードで再度チケットを発行する際に、以下のメッセージ文例を使用できます:
1
2
Hi Team,
Could you please enable SSL click tracking for CTD XXX? It is currently set to HTTP instead of HTTPS.
BrazeでのAppsFlyerクリックトラッキングURL(オプション)
プッシュやメールなどのBraze Campaignsで、AppsFlyerのOneLinkアトリビューションリンクを使用できます。これにより、インストールやリエンゲージメントのアトリビューションデータをBraze CampaignsからAppsFlyerに送り返すことができます。その結果、マーケティング活動をより効果的に測定し、データドリブン型の意思決定を行うことができます。
AppsFlyerでOneLinkトラッキングURLを作成し、Braze Campaignsに直接挿入するだけです。その後、AppsFlyerは確率的アトリビューション手法を使用して、リンクをクリックしたユーザーをアトリビューションします。Braze Campaignsからのアトリビューションの精度を高めるために、AppsFlyerのトラッキングリンクにデバイス識別子を付加することを推奨します。これにより、リンクをクリックしたユーザーを決定論的にアトリビューションします。
Androidの場合、Brazeは顧客がGoogle Advertising ID収集(GAID)にオプトインできるようにしています。AppsFlyer SDK統合もGAIDを収集します。以下のLiquidロジックを使用することで、AppsFlyerのクリック追跡リンクにGAIDを含めることができます:
1
2
3
{% 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を含めることができます:
1
2
3
{% if most_recently_used_device.${platform} == 'ios' %}
idfv={{most_recently_used_device.${id}}}
{% endif %}