SDKを利用したAppsFlyerアトリビューション/コンバージョンデータ(iOS)取得方法 - Accessing AF Attribution

AppsFlyerでは、SDKを通じてリアルタイムでアトリビューションデータにアクセスすることが可能です。初めてインストールしたアプリケーションを初回起動する際、ユーザーを特定のランディングページに誘導することができます。これは一般的に”ディファード”ディープリンクと言われるものです。Webの世界ではごく一般的ですが、モバイルアプリの分野ではまだ多くの課題があります。AppsFlyerであれば、広告主様のあらゆるニーズ及びプラットフォームに対応したサービスを提供することが可能です。

アプリを使用する新規ユーザーにディープリンクするという機能は、既にアプリをインストールしているユーザーがURLスキームでディープリンクするという機能と似ています。

例えば:

Googleにて”Hotels New York”と検索したユーザーが、Google Adwordsから配信されているHotelTonight’sの広告をクリックしたと仮定します。このユーザーはまず、Google Playストアに誘導されアプリをダウンロードします。その後、アプリを初回起動したとき、このユーザーはNew Yorkのホテル一覧ページに直接アクセスすることができます。

このように、AppsFlyerが提供するアトリビューションデータにアクセスすることにより、アプリケーションはユーザーを適切なページに導くためのキャンペーン及びキーワード情報を受取ることが可能です。

更に、ユーザーエクスペリエンス及びコンバージョンを更に向上させる施策に活用することもできます。例えば、特定のユーザーに、アプリインストール及び利用時にキャッシュバックやディスカウントを提供するようなコンテキストベースのキャンペーンにこの機能を応用することができます。単純に”今すぐインストール”ではなく”インストールして宿泊予約で50ドルゲットしよう”など、対象ユーザーに応じてメッセージを切替えることが可能です。クリックからのインストールを向上させるだけでなく、ユーザーのサービス利用意欲を高めることができるため、ROIを全体で2倍から5倍へと改善することにもつながります。

AppsFlyerのNativeTrack SDKは、サーバーサイドトラッキングシステムです。すなわち、コンバージョンデータはAppsFlyerのサーバー上にて追跡及び処理されます。そのため、アプリ初回起動時にAppsFlyerのSDK経由でこれらのアトリビューションデータにアクセスする場合は、2,3秒かかる可能性があります。

注意:

Facebookプライバシーポリシーにより、FacebookのTerms of Serviceに同意しない限り、AppsFlyer (及び、すべての第三者モバイル計測パートナー)は、Facebook経由でインストールされたアプリのユーザーレベルデータにはアクセスすることができません。詳細情報はこちらにてご確認ください。

Terms of Serviceに同意されていない場合、Facebookモバイル広告経由のインストールは、すべてオーガニックインストールとなり、ユーザーレベルデータを取得することもできません。

SDKの実装:

注意:AF Android SDK 2.3.1.6及びAF iOS SDK 2.5.3.8以上をご利用ください。

SDK経由で、AppsFlyerのコンバージョンデータにアクセスする場合は、以下のコードを実装してください。

iOS SDK経由にてAppsFlyerのコンバージョンデータにアクセスするために、下記のとおりAppsFlyerTrackerDelegateプロトコルを実装してください。

@protocol AppsFlyerTrackerDelegate <NSObject>
@optional
- (void) onConversionDataReceived:(NSDictionary*) installData;
- (void) onConversionDataRequestFailure:(NSError *)error;
@end

例:

AppDelegate.h

#import "AppsFlyerTracker.h"
@interface AppDelegate : UIResponder<UIApplicationDelegate, AppsFlyerTrackerDelegate> {
   ...
}

AppDelegate.m

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {
   [AppsFlyerTracker sharedTracker].appsFlyerDevKey = @"[MY_DEV_KEY]";
   [AppsFlyerTracker sharedTracker].appleAppID = @"id123456789";
 
// Load conversion data and deep-link tracking

   [AppsFlyerTracker sharedTracker].delegate = self;

   return YES;
}

-(void)applicationDidBecomeActive:(UIApplication *)application
{
   [[AppsFlyerTracker sharedTracker] trackAppLaunch];
}
-(void)onConversionDataReceived:(NSDictionary*) installData {

    id status = [installData objectForKey:@"af_status"];
    if([status isEqualToString:@"Non-organic"]) {
        id sourceID = [installData objectForKey:@"media_source"];
        id campaign = [installData objectForKey:@"campaign"];
        NSLog(@"This is a none organic install. Media source: %@  Campaign: %@",sourceID,campaign);
    } else if([status isEqualToString:@"Organic"]) {
        NSLog(@"This is an organic install.");
    }
}
-(void)onConversionDataRequestFailure:(NSError *) error {
    NSLog(@"%@",error);
}

出力例:

{
"af_status": "Non-organic",
"media_source": "tapjoy_int",
"campaign": "July4-Campaign",
"agency": "starcomm",
"af_siteid": null,
"af_sub1": "subtext1",
"af_sub2": null,
"af_sub3": null,
"af_sub4": null,
"af_sub5": null,
"freehand-param": "somevalue",
"click_time": "2014-05-23 20:11:31",
"install_time": "2014-05-23 20:12:16.751"
}

レスポンスデータで利用可能なキー一覧

Key Name

Explanation

Example Values

Media Sources

af_status

Shows what type of attribution was detected.

Valid values:

  • Organic
  • Non-organic
  • Error

Non-organic

All

af_message

Free text

Organic install/Error message

All

media_source

Media source name. This is the AF tracking link ‘pid’ parameter

  • inmobi_int
  • tapjoy_int
  • Facebook Ads

NOTE: ‘Facebook Ads’ is reserved for Facebook campaigns

All

 

campaign

Campaign name (AppsFlyer’s tracking link ‘c’ parameter or Facebook campaign name)

Ad1/camp123

All

clickid

Click id or transaction id

123456/xsfd234

All

af_siteid

Site id (for optimization)

Site1

All

af_sub1

Extra parameter

someParameter

All

af_sub2

Extra parameter

 

All

af_sub3

Extra parameter

 

All

af_sub4

Extra parameter

 

All

af_sub5

Extra parameter

 

All

click_time

Click date & time (milliseconds)

2014-01-08 00:07:53.233

All

install_time

Conversion date & time (milliseconds)

2014-01-08 00:12:51.701

All

agency

Agency or PMD generating the install

nanigans

All

is_fb

 

Flag indicating it’s a Facebook attribution. Values: true/false

true

Facebook

adgroup

Facebook’s ad group name

Angry Bird Facebook ad 1

Facebook

adgroup_id

Facebook’s ad group ID

6012740800279

Facebook

campaign_id

Facebook’s campaign ID

6012700005123

Facebook

adset

Facebook’s ad set name

US - 18+

Facebook

adset_id

Facebook ad set ID

6099800005123

Facebook

ad_id

Facebook’s unique identification number of an ad

6012998843079

Facebook

Facebookレスポンスデータ出力例:

注意:Facebookキャンペーン用のトラッキングリンクは存在しません。

{
"af_status": "Non-organic",
"is_fb": true,
"media_source": "Facebook Ads",
"agency": "nanigans",
"campaign": "nanigans_US_18-25",
"campaign_id": "6012743935279",
"adgroup": "Adgroup-1",
"adgroup_id": "6012743942279",
"adset": "adset-1",
"adset_id": "6012743935479",
"ad_id": "6012743943079",
"af_sub1": null,
"af_sub2": null,
"af_sub3": null,
"af_sub4": null,
"af_sub5": null,
"install_time": "2014-05-22 14:12:37.208",
"click_time": "2014-05-22 14:08:08"
}

AppsFlyerが提供する通常のトラッキングリンク経由で取得したレスポンスデータ出力例(Facebookは含まない):

以下のトラッキングリンク経由でインストールされた場合:

http://app.appsflyer.com/id578915438?pid=tapjoy_int&c=July4-2014&af_prt=starcomm&af_siteid=57&af_sub1=subtext1&freehand-param=somevalue

レスポンスデータ出力例:

{
"af_status": "Non-organic",
"media_source": "tapjoy_int",
"campaign": "July4-Campaign",
"agency": "starcomm",
"af_siteid": "57",
"af_sub1": "subtext1",
"af_sub2": null,
"af_sub3": null,
"af_sub4": null,
"af_sub5": null,
"freehand-param": "somevalue",
"click_time": "2014-05-23 20:11:31",
"install_time": "2014-05-23 20:12:16.751"
}

注意:キーの並び順は可変です。また、予告なしでキーが追加されることもあります。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています