サーバー間イベントの計測

サーバー間(S2S)イベントAPIを使用すると、AdjustはHTTPリクエストを介してイベントを計測します。

S2Sイベントで受け付けるリクエストのタイプは以下のとおりです。
  • URLパラメーターを使用したGET
  • URLパラメーターを使用したPOST(bodyなし)
  • Content-Type application/x-www-form-urlencodedとしてbodyパラメーターを使用したPOST

このページでは、サーバー間 (S2S) イベント計測の設定およびトラブルシューティングの方法を説明します。

事前準備

事前準備として、以下の内容をご確認ください。

必要条件

  • イベントを計測し、Adjustにコールを送信するサーバー

参考

  • インストール、リアトリビューション、セッションはSDKで自動的に記録され、Adjust S2Sには送信できません。Adjustではサーバー間イベントの重複排除が行われないため、大量の重複データを受信しないようにするには、S2Sで同様のアクティビティ(例:「アプリを開く」)を送信しないでください。

Adjustにイベントを送信する

Adjustにイベントを送信するには、常に次のパラメータを https://s2s.adjust.com/event に渡してください。

パラメーター説明
idfa; gps_adid; など   プラットフォームに依存する広告ID(全リストを参照

idfa=D2CADB5F-410F-4963-AC0C-2A78534BDF1E

gps_adid=660e1d86-6796-463a-be86-897993136018

event_token管理画面で取得できるAdjustイベントトークンevent_token=f0ob4r
app_token管理画面で取得できるAdjustアプリトークンapp_token=4w565xzmb54d
s2s1に設定されたS2Sパラメーターs2s=1

イベント送信に推奨されるその他のパラメータ

イベントのアトリビューションを正確に行うために、イベントに次のパラメーターを含めることをおすすめします。

IDタイプパラメーター + 例用途
AdjustのデバイスIDadidIDFA情報を利用せずにiOSでLATユーザーを特定する
IPアドレスip_addressコールバックにサードパーティ(Googleなど)とのイベント連携、および位置関連情報(city、postal_codeなど)を含めます。ip_addressパラメーターではIPv4のみを受け付けます。IPv6はまだサポートされていません。
created_at_unix
(推奨)

または

created_at
created_at_unix=1484085154

または

created_at=2017-01-02T15:04:05.000+0000

イベントが発生したその瞬間を示す。これにより、イベントの正確なレポーティングが可能。

 

created_atタイムスタンプの条件

‘created at’ タイムスタンプは、created_at_unixパラメーターまたは created_atパラメーターのいずれかを使用して指定できます。

  • created_at_unixパラメーターは数値のみを受け付け、浮動小数点値や数字以外の文字(小数点(.)を含む)は受け付けないため、このパラメーターを使用することが推奨されます。数字以外の文字を含むタイムスタンプは受信を拒否されます。これにより、フォーマットまたはエンコードの問題が発生する可能性が低くなります。created_at_unixパラメーターで受け付ける時刻フォーマットは次の2つだけです。

     - created_at_unix=1484085154
    ミリ秒 - created_at_unix=1484085154000

  • created_atパラメーターを使用する場合、常に値をエンコードしてください。例えば、2017-01-02T15:04:05.000+00002017-01-02T15%3A04%3A05.000%2B0000になります。
  • サーバー側のイベントコールに「created_at」タイムスタンプが含まれていない、あるいは正しくフォーマットされていない(タイムゾーンがないなど)場合、Adjustはcreated_atの時間をReceivedAtタイムスタンプに設定します。
  • 「created at」タイムスタンプを含む全てのサーバー間イベントは、デバイスごとに、またイベントトークンごとに、「created at」タイムスタンプに従って時系列で送信する必要があります。例えば、同じデバイスに対して同じイベントトークンを使用して送信する場合、7日目のイベントよりも先に3日目のイベントを送信する必要があります。そのようにしないと、Adjustにより3日目のイベントが拒否されます。 
    • イベントは必ず28日以内に送信してください(時間が経過するとアクティビティは拒否されます)。
  • 収益と「created at」タイムスタンプを含む全てのサーバー間イベントは、デバイスごとに、また全ての収益イベントトークンに対して、「created at」タイムスタンプに従って時系列で送信する必要があります。例えば、同じデバイスに対しては、収益イベントトークンXの3日目の収益イベントを、収益イベントトークンYの7日目の収益イベントよりも先に送信する必要があります。そのようにしないと、3日目の収益イベントは拒否されます。

受け入れ可能なデバイスID

サーバー間イベントで受け付けるデバイスIDは以下のとおりです。

推奨されるID
RawのIDFA(iOSのみ)IDFA
RawのGoogle広告IDgps_adid
Amazon Fire広告IDfire_adid
その他の広告ID(OAID、Huaweiのみ)oaid
バックアップID
RawのIDFA                                                        IDFA
RawのIDFVidfv
Android IDandroid_id

注:可能な場合、バックアップの識別子としてAdjustデバイスID(adid)を渡すことが推奨されます。S2Sリクエストが機能するためには、adidを渡す必要があります。 

カスタムデータを共有する

コールバックとパートナーパラメーターを使用することで、サーバー間(S2S)イベント内でカスタムイベントデータをAdjustに渡すことができます。コールバックパラメーターはローデータエクスポートを介して返されますが、パートナーパラメーターはネットワーク連携パートナーと共有されます。以下の手順を使用して、S2Sイベントのコールバックパラメーターとパートナーパラメーターを設定します。 

サーバー間イベントの計測

S2Sで計測されるイベントのコールバックパラメーターを受信するには、callback_paramsパラメーターを使用してJSONオブジェクトを渡します。以下はエンコードされていない2つのカスタムパラメーターの例です。

{"f0o":"bar","bar":"baz"}

次に示すのは、callback_paramsを追加して適切にエンコードした上で渡されるJSONオブジェクトの例です。

https://s2s.adjust.com/event?s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=8A3CB124-5A79-4334-8802-F75FEC099C58&callback_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D

サーバー間で計測されるイベントのパートナーパラメーターを送信するには、partner_paramsパラメーターを使用してJSONオブジェクトとしてそれらを渡します。以下はエンコードされていない2つのカスタムパラメーターの例です。

partner_params={"f0o":"bar","bar":"baz"}

次に示すS2Sリクエストの例は、partner_paramsが追加され、適切にエンコードされています。

https://s2s.adjust.com/event?s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=8A3CB124-5A79-4334-8802-F75FEC099C58&partner_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D


JSONオブジェクトには文字列のみを含め、ネストする必要はありません。パラメーターが適切にフォーマットされていない場合、Adjustからのエラーメッセージが表示されます。

収益イベントを計測する

サーバー間の収益イベントを計測するには、イベント送信に次の収益パラメーターを追加してください。

 
パラメーター説明
revenue (収益)

完全な通貨単位での収益イベントの値(149.99 = $149.99)。このパラメーターの最低値は0.001です。

currency (通貨)収益イベント 通貨コード
environment (環境)environment=sandboxまたはenvironment=production)にデータを送信する環境。
このパラメーターが含まれていない場合、本番環境とみなされてイベントが送信されます。
 

設定の完了

URLパラメーターを利用したS2S GETリクエストと、URLパラメーターを利用したbodyのないPOSTリクエストの例:

https://s2s.adjust.com/event?s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=D2CADB5F-410F-4963-AC0C-2A78534BDF1E&created_at=2017-01-02T15%3A04%3A05Z%2B0200&callback_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D&partner_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D

bodyにパラメーターを含むサーバー間POSTリクエストの例:

リクエストURL:
https://s2s.adjust.com/event
Body:
s2s=1&event_token=f0ob4r&app_token=4w565xzmb54d&idfa=D2CADB5F-410F-4963-AC0C-2A78534BDF1E&created_at=2017-01-02T15%3A04%3A05Z%2B0200&callback_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D&partner_params=%7B%22f0o%22%3A%22bar%22%2C%20%22bar%22%3A%22baz%22%7D

イベント送信のレスポンス

正常に計測された全てのイベントは、OKを示す応答を返します。

計測に失敗したイベントは、次のようなHTTPエラーコードとJSONメッセージを返します。{{"error": "Event request failed ( {{error message}})"}}

エラーメッセージは、リクエストにどのような問題が発生したかを示します。以下の表からエラーを特定し、設定をご確認いただくか、support@adjust.comにお問い合わせください。

エラーコードエラーメッセージ理由
400Bad event state様々な理由で発生する可能性があります。例:‘created at' の時間が 'installed_at' の時間の前になっている。

詳細については、レスポンスを確認してください。

400Invalid app token無効なアプリトークン:アプリが正しく設定されていません
400Ignoring event, earlier unique event trackedユニークイベントがすでに計測されています。重複のためこのイベントは計測されません。
400Invalid callback parameters無効なコールバックパラメーター:コールバックパラメーターを抽出できませんでした
400Invalid event tokenイベントトークンが存在しないか、正しく設定されていない、あるいはアプリトークンと一致しません。
400Invalid revenue無効な収益:金額が正しく設定されていないか、値が大き過ぎます(上限 = 100,000,000,000) 
401Failed to authorize requestリクエストの承認に失敗:承認トークンが見つからない、あるいは一致しません
403App is inactiveアプリが非アクティブ:アプリが管理画面で無効化されました
403Tracking disabledこのプラットフォームでは計測が有効化されていません
403Event token blacklistedEvent token blacklisted
404App token not foundApp token not found
404Device not foundデバイスデータが見つかりません
413Request size too largeリクエストが上限の1MBを超えています
451Device is opted outDevice is opted out 
500Internal error, contact support@adjust.com内部エラー、support@adjust.comにお問い合わせください:デバイスデータ更新時に発生した内部エラー

このトピックについて