NOTE: 現在こちらの方法は利用できなくなっています。
adjustは、リアルタイムに売上、イベント数、セッション数、インストール数、クリック数といった定量データに加え、コホート分析に基づいて、広告がどのような効果を可視化するためのサービスです。
adjustの利用方法
1.サインアップ
それでは、サインアップをしてみます。
ホームページの下に、Get your free 30 day trialがあるのでクリックし、
下記の項目を埋めます。
次にアプリの初期情報を入力します。
今回はテストのために、アプリIDはありません。
次に、イベント情報を取得するためのIDを生成します。
これを売上のイベント時などにadjustに送るようにすることで、イベントごとの分析や可視化ができるようになります。
ここまでで初期セットアップは完了です。
2. iOS SDKの組み込み
次に利用するOSのSDKをここからダウンロードします。
adjustのドキュメントは、こちらに記載されています。
iOS SDKをつかって、adjustにデータを送ります。
iOS SDK内にExampleがあるので、ExmpleをそのままXcodeに読み込んで作成してみます。
編集箇所としては、
-
AppDelegate.m
内のyourAppToken
にアプリのトークンを記載 -
ViewController.m
内のeventWithEventToken
にそれぞれイベントのトークンを記載
これで各イベントが発生した時に、端末情報がadjustに送ることができます。
さて、上記の変更が終わったら、起動してみましょう。下図の画面が表示されます。
表示されたボタンをぽちぽち押してみると、ログに下記が表示されます。
example[89662:1432893] [Adjust]v: Response: {"attribution":{"tracker_token":"9sadhq","tracker_name":"Organic","network":"Organic"},"app_token":"6g3xc3yen836","adid":"4050ee8e82b41ba0f7f55799e3e1cd94","timestamp":"2015-10-01T07:27:15.658Z+0000","message":"Event tracked '2zlvrt'"}
作成したアプリ名を選びます。
このデータを貯めて行ってレポートとかを作れたりできます。(たぶん)
デフォルトだとdebugモードになっているために、sandboxのダッシュボードを利用してみてみましょう。
TreasureDataとの連携
さて、adjustにはデータを送れたところを確認しました。
ここではレポートなどがみれますが、例えばここで取得したデータを他のデータと連携させたりすることを考えた時にTreasureDataと連携させるのは非常に有益です。
adjustにはcallback URLを設定することができ、イベント発生時にTreasureDataにもforwardさせることで、rawデータをTreasureDataに送ることができます。(ドキュメントはこちら)
1. Write only APIKEYの取得
TreasureDataにログインして、プロフィールページからWrite only APIKEYを取得します。
2. Callback URLの設定
Callback URLは、イベントに対して設定します。
そのため、Eventのページにて、新規イベント追加を行います。
TreasureDataに対しては、下記を設定します。
https://in.treasuredata.com/adjust/v3/event/support/adjust?apikey=<apikey>&event=click&device_id={idfa}&msgts={created_at}&network={network_name}&campaign={campaign_name}&adgroup={adgroup_name}&app_version={app_version}&idfv={idfv}&user_agent={user_agent}&ip={ip_address}&click_time={click_time}&country={country}&language={language}&device_name={device_name}&os={os_name}&os_version={os_version}&fb_campaign_group={fb_campaign_group_name}&fb_campaign_group_id={fb_campaign_group_id}
Yahoo!ビッグデータインサイトに対して送る場合には、下記を設定します。
https://mobile-ybi.jp-east.idcfcloud.com/adjust/v3/event/support/adjust?apikey=<apikey>&event=click&device_id={idfa}&msgts={created_at}&network={network_name}&campaign={campaign_name}&adgroup={adgroup_name}&app_version={app_version}&idfv={idfv}&user_agent={user_agent}&ip={ip_address}&click_time={click_time}&country={country}&language={language}&device_name={device_name}&os={os_name}&os_version={os_version}&fb_campaign_group={fb_campaign_group_name}&fb_campaign_group_id={fb_campaign_group_id}
3. iOS SDKから動作させる
ViewController.m
内のeventWithEventToken
にトークンを書き直します。
またログに下記のように表示されます。
15-10-02 15:00:35.975 example[92744:1678902] [Adjust]d: Added package 1 (event'7c2cqn')
2015-10-02 15:00:35.976 example[92744:1678902] [Adjust]v: Path: /event
2015-10-02 15:00:35.977 example[92744:1678902] [Adjust]v: ClientSdk: ios4.3.0
2015-10-02 15:00:35.977 example[92744:1678902] [Adjust]v: Parameters:
2015-10-02 15:00:35.977 example[92744:1678901] [Adjust]d: Wrote Activity state: ec:25 sc:2 ssc:1 ask:0 sl:75.9 ts:75.9 la:1443765636.0
2015-10-02 15:00:35.977 example[92744:1678902] [Adjust]v: app_token 6g3xc3yen836
2015-10-02 15:00:35.978 example[92744:1678902] [Adjust]v: app_version 1
2015-10-02 15:00:35.978 example[92744:1678902] [Adjust]v: app_version_short 1.0
2015-10-02 15:00:35.978 example[92744:1678902] [Adjust]v: bundle_id com.torutakahashi.ayashi
2015-10-02 15:00:35.979 example[92744:1678902] [Adjust]v: country US
2015-10-02 15:00:35.980 example[92744:1678902] [Adjust]v: created_at 2015-10-02T15:00:35.975Z+0900
2015-10-02 15:00:35.980 example[92744:1678902] [Adjust]v: device_name x86_64
2015-10-02 15:00:35.981 example[92744:1678902] [Adjust]v: device_type iPhone
2015-10-02 15:00:35.982 example[92744:1678902] [Adjust]v: environment sandbox
2015-10-02 15:00:35.983 example[92744:1678902] [Adjust]v: event_count 25
2015-10-02 15:00:35.983 example[92744:1678902] [Adjust]v: event_token 7c2cqn
2015-10-02 15:00:35.984 example[92744:1678902] [Adjust]v: idfa 0A10F28C-1928-4F02-B297-57A9DDE7C834
2015-10-02 15:00:35.984 example[92744:1678902] [Adjust]v: idfv 1ADDC6CF-96D2-482F-80D8-74A5959DB167
2015-10-02 15:00:35.984 example[92744:1678902] [Adjust]v: ios_uuid 565ea905-4423-4b5a-9100-c432d273863e
2015-10-02 15:00:35.984 example[92744:1678902] [Adjust]v: language en
2015-10-02 15:00:35.984 example[92744:1678902] [Adjust]v: mac_md5 4050ee8e82b41ba0f7f55799e3e1cd94
2015-10-02 15:00:35.985 example[92744:1678902] [Adjust]v: mac_sha1 331d536154423baaaf628a7dda24caaa85a81338
2015-10-02 15:00:35.985 example[92744:1678902] [Adjust]v: needs_attribution_data 1
2015-10-02 15:00:35.985 example[92744:1678902] [Adjust]v: os_name ios
2015-10-02 15:00:35.985 example[92744:1678902] [Adjust]v: os_version 9.1
2015-10-02 15:00:35.985 example[92744:1678902] [Adjust]v: session_count 2
2015-10-02 15:00:35.986 example[92744:1678902] [Adjust]v: session_length 76
2015-10-02 15:00:35.986 example[92744:1678902] [Adjust]v: subsession_count 1
2015-10-02 15:00:35.986 example[92744:1678902] [Adjust]v: time_spent 76
2015-10-02 15:00:35.986 example[92744:1678902] [Adjust]v: tracking_enabled 1
2015-10-02 15:00:35.987 example[92744:1678902] [Adjust]d: Package handler wrote 1 packages
2015-10-02 15:00:37.110 example[92744:1678901] [Adjust]v: Response: {"attribution":{"tracker_token":"9sadhq","tracker_name":"Organic","network":"Organic"},"app_token":"6g3xc3yen836","adid":"4050ee8e82b41ba0f7f55799e3e1cd94","timestamp":"2015-10-02T06:00:36.957Z+0000","message":"Event tracked '7c2cqn'"}
2015-10-02 15:00:37.111 example[92744:1678901] [Adjust]i: Event tracked '7c2cqn'
2015-10-02 15:00:37.113 example[92744:1679012] [Adjust]d: Wrote Activity state: ec:25 sc:2 ssc:1 ask:0 sl:75.9 ts:75.9 la:1443765636.0
2015-10-02 15:00:37.113 example[92744:1678902] [Adjust]d: Package handler wrote 0 packages
実際に送られているかどうかを確認すると、送られていることがわかります。
adjustで取得できるデータ
Callback URLに設定できるデータは下記になっています。
https://partners.adjust.com/placeholders/
結構色んな種類のデータがとれるっぽいです。
まとめ
アプリにSDKを複数入れたくないっていう人には、一つでTreasureDataにも送れて便利ですね。
そして、TreasureDataに送っておけば、色んなサービスとの連携がさらにできるので、もっと便利ですね!
ちゃんちゃん。