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
@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:
|
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 |
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 |
|
adgroup |
Facebook’s ad group name |
Angry Bird Facebook ad 1 |
|
adgroup_id |
Facebook’s ad group ID |
6012740800279 |
|
campaign_id |
Facebook’s campaign ID |
6012700005123 |
|
adset |
Facebook’s ad set name |
US - 18+ |
|
adset_id |
Facebook ad set ID |
6099800005123 |
|
ad_id |
Facebook’s unique identification number of an ad |
6012998843079 |
|
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"
}
注意:キーの並び順は可変です。また、予告なしでキーが追加されることもあります。
コメント
ログインしてコメントを残してください。