LoginSignup
13
15

More than 5 years have passed since last update.

adjustとTreasureDataを連携させてみる!

Last updated at Posted at 2015-10-03

NOTE: 現在こちらの方法は利用できなくなっています。

adjustは、リアルタイムに売上、イベント数、セッション数、インストール数、クリック数といった定量データに加え、コホート分析に基づいて、広告がどのような効果を可視化するためのサービスです。

top

adjustの利用方法

1.サインアップ

それでは、サインアップをしてみます。
ホームページの下に、Get your free 30 day trialがあるのでクリックし、
下記の項目を埋めます。

sigh up

welcome

次にアプリの初期情報を入力します。
今回はテストのために、アプリIDはありません。

JPY

次に、イベント情報を取得するためのIDを生成します。
これを売上のイベント時などにadjustに送るようにすることで、イベントごとの分析や可視化ができるようになります。

Add event

ここまでで初期セットアップは完了です。

2. iOS SDKの組み込み

次に利用するOSのSDKをここからダウンロードします。

Embed SDK

adjustのドキュメントは、こちらに記載されています。

iOS SDKをつかって、adjustにデータを送ります。
iOS SDK内にExampleがあるので、ExmpleをそのままXcodeに読み込んで作成してみます。

編集箇所としては、

  1. AppDelegate.m内のyourAppTokenにアプリのトークンを記載
  2. ViewController.m内のeventWithEventTokenにそれぞれイベントのトークンを記載

これで各イベントが発生した時に、端末情報がadjustに送ることができます。
さて、上記の変更が終わったら、起動してみましょう。下図の画面が表示されます。

iOS

表示されたボタンをぽちぽち押してみると、ログに下記が表示されます。

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'"}

作成したアプリ名を選びます。
このデータを貯めて行ってレポートとかを作れたりできます。(たぶん)

Dashboard

デフォルトだとdebugモードになっているために、sandboxのダッシュボードを利用してみてみましょう。

report

TreasureDataとの連携

さて、adjustにはデータを送れたところを確認しました。
ここではレポートなどがみれますが、例えばここで取得したデータを他のデータと連携させたりすることを考えた時にTreasureDataと連携させるのは非常に有益です。

adjustにはcallback URLを設定することができ、イベント発生時にTreasureDataにもforwardさせることで、rawデータをTreasureDataに送ることができます。(ドキュメントはこちら

1. Write only APIKEYの取得

TreasureDataにログインして、プロフィールページからWrite only APIKEYを取得します。

2. Callback URLの設定

Callback URLは、イベントに対して設定します。
そのため、Eventのページにて、新規イベント追加を行います。

Event Page

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

実際に送られているかどうかを確認すると、送られていることがわかります。

TreasureData

adjustで取得できるデータ

Callback URLに設定できるデータは下記になっています。
https://partners.adjust.com/placeholders/

結構色んな種類のデータがとれるっぽいです。

まとめ

アプリにSDKを複数入れたくないっていう人には、一つでTreasureDataにも送れて便利ですね。
そして、TreasureDataに送っておけば、色んなサービスとの連携がさらにできるので、もっと便利ですね!

ちゃんちゃん。

13
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
15