Indexコールバックの利用Adjustは、自社サーバーのエンドポイントにコールバックをリアルタイムで提供するシステムを提供します。システムと連携することができます。Adjustのコールバックにより、アプリにリダイレクトされたりアプリ経由で受け渡されるそれぞれのクリック、インストール、リアトリビューション、イベント、不正防止ツールが有効になっているアカウントで拒否されたインストール、更新されたアトリビューション、アンインストール、リインストール、リアトリビューションインストール、そして広告費用の更新に関するデータがリアルタイムに提供されます。adjustの利用者としてこのデータを活用し、どのような場所にもデータを送信するようAdjustに要求することができます。ソリューションを実装する方法について説明します。広範なデータを取り出してカスタム分析を行ったり、コールバックを実装してアプリ内のデータを提供するなど、Adjustのコールバックは様々な方法で活用されています。特定のイベントの発生時に、Adjustのサーバーがご利用のサーバーに対して実行するデータ送信。標準的な種類のネットワーク要求2Adjustダッシュボードへのコールバックの追加ダッシュボードのイベント画面でコールバックを追加できます。各イベントの行にカーソルを合わせると「コールバックの追加」または「編集」ボタンが表示されます。このボタンをクリックして、コールバックの追加画面を開きます。エンドポイントのURLと、利用可能なプレースホルダを使用した目的のパラメータと一緒に追加します。インストールごとにhttp://myserver.com/register/にコールバックを行い、それぞれのインストールのIDFA、タイムスタンプ、トラッカー名をパラメータとして設定したい場合は、以下の文字列を追加するとよいでしょう。})内の文字がプレースホルダで、送信前にadjustサーバーによってに置き換えられます。プレースホルダを使用して受け取ることのできるデータについては、以下のプレースホルダのセクションで説明します。プレースホルダを使用して、単純なGETパラメータ以外の構文を次のように構築することもできます。http://myserver.com/register/{tracker_name}/{idfa}/?data={created_at}ただし、カスタムSDKのパラメータは必ずGET構文を使用して構築されます。コールバックでは現在サポートされていません。異なるURLをスペースで区切ることで、複数のコールバックを追加できます。更新されたアトリビューションやリアトリビューションにおけるコールバックはユーザーのアトリビューションデータが更新されている場合に限り、インストール、もしくはリアトリビューションのコールバックの後に送信されます。アトリビューションとリアトリビューションを定義した後でも、Adjustはしばしばセルフ・アトリビューションのネットワークからアトリビューション情報を受信することもあります。ユーザーのアトリビューションデータが変更されている、このように稀な現象において、Adjustではそのユーザーのアトリビューション情報はAdjustのダッシュボードにて更新を行うようにしています。この場合、Adjustからは更新されたアトリビューション情報を「更新されたアトリビューション」のイベントとしてAdjustのダッシュボード内でコールバックを送信します。更新されたアトリビューション情報の受信をご希望される場合は、下記のAdjustプレースホルダをコールバックの文字列に追記されることを推奨します。リアトリビューションのアップデートreattribution_update注意:更新されたアトリビューションやリアトリビューションの情報は2017年3月から提供開始いたします。更新されたアトリビューションやリアトリビューションのコールバックはアトリビューション情報とAdjustのポレースホルダデータのみを含めます。追加として特定のコールバックをそれぞれのイベントごとに指定する際は、グローバルコールバックも同時に指定することができます。イベントで発生します。コールバックは同じプレースホルダを使用して、他のコールバックと変わらない動作をします。ページ下部にある「グローバルコールバックを編集する」ボタンを選択していただき、そちらから追加していただけます。設定していただいたコールバックに追加する形でグローバルコールバックも発生します。グローバルコールバックを指定し、同じコールバックURLを特定のイベントにも使用される場合は、二重でコールバックが発生します。グローバルコールバックとして一回、そして特定イベントのコールバックとして二回目が送られます。下記のプレースホルダーをご利用いただくことでコールバックを別のイベントとして区別することができます。特定のタイプのアプリ内のイベントを独自に特定する為には、{event}をお使いください。読みやすい名前のラベルを受信できるようにご使用ください。イベントトークンは固定されますが、イベント名はいつでも変更可能です。その為イベント名そのものはIDとしての使用には向いていません。データと組み合わせられれば便利な場合が多くあります。そのためには、まずコールバックの受信側のURLを指定する適切なエンドポイントを決定または作成し、パラメータの値が記録されるサーバーにデータを送信する必要があります。スクリプトや、より拡張された設定を使って計算を開始させる方法など様々な種類があります。パラメータを使用して補完すべき内容を決める必要があります。これについての答えは、主にどのような分析や仕組みをこのデータセットに実行することを検討しているかによって決まります。Adjustは負荷の大きい計算の多くをすでに実行しており、集計データに関するレポートを、オンライン表示やエクスポート機能により提供しています。受信データは、特定のクリック、インストール、イベントが行ごとに示されるピボットテーブルのようなものだと考えてください。らかの形式によるユーザーIDやデバイスID、データにより実行されたアクションが記録されることになります。内部ユーザーIDをAdjustのアトリビューションデータと関連付けることを検討しているとします。この2つを関連付けることで、オンライン利用履歴やより詳細な購入パターンといった、その他のソースの内部記録を関連付けることができます。次のような視点から、カスタマイズされた分析を行うとよいでしょう。特定の集団から獲得した顧客は、返品率が多少高くなる可能性があるのか?リターゲティングを行ったユーザーは、リターゲティングの前後でアプリをアクティブに使用していたと思われるか?通常だと、単純なエンドポイントを作成して1つのユーザーアクションを記録し、内部システムで照会することになります。パラメータとしてSDKに追加し、Adjustダッシュボードでコールバックを定義して、デバイスIDとトラッカー名を送信できます。することで、システムの内部記録を、モバイルで行われたすべての購入、登録、レベル達成、追跡中のその他のアプリ内イベントと関連付けることができます。4ダイナミックコールバックパラメータを使ってカスタムデータを送信するダイナミックコールバックパラメータ(DCP)を使うと、クリックやインストール、リアトリビューション、セッション、イベントのカスタムパラメータをいくつでも送信できます。Adjustがサポートしている以上のパラメータをネットワークで使用している場合、もしくはユーザー特有のデータを追加で必要とする場合は、DCPを活用できます。DCPはクリック、インストール、リアトリビューション、そしてイベントのコールバックのクリックURLにのみ利用できます。campaign_name_3)先頭にdcp_を追加し、クリック、インストール、リアトリビューションまたはS3コールバックのプレースホルダに設定してください。{dcp_campaign_name_3})dcp_を除いたこのパラメータを、クリックトラッカーURLに追加してください。campaign_name_3={campaign_macro})クリックトラッカーURLをアドネットワークに提出し、それらのネットワーク側で連携するよう依頼してください。Adjustがこれらのパラメータ内のデータを受信すると、この情報はRawデータコールバックに送信されます。マーケティング、アフィリエイト、または口コミのいずれであっても、アトリビューションの仕組みが必要です。友人を招待してサービスに登録させたユーザーに対して見返りを与えるには、同知ればいいでしょうか?「SNS、メール、チャットで友達招待して、アプリで特典や割引をゲットしよう。」この様な設定は簡単に行うことができます。adjustはソースと獲得顧客をリンク付けるように設計されています。コールバックを使用して、Adjustのデータを結びつければ、コイン、VIPステータスやユーザーに約束した内容を提供することも可能になります。ワークフローの例を以下に説明します。ユーザーの1人であるボブが、アプリを使って甥のトムを招待します。トムは、AdjustのトラッカーURL経由で招待されます。この例では「f0ob4r」のIDを付けた標準のトラッカーをダッシュボードに作成して、ユーザーIDをクリックラベルとして追加できます(キャンペーン構造とトラッカーの作成についてはトラッカーの作成についてをご参照ください)。https://app.adjust.com/f0ob4r?label=[user_id]アプリによって、[user_id]がボブのIDに置き換えられ、Adjustのリンクがメール、SMSまたはSnapchat経由でトムに送信されます。トムがリンクをクリックすると、トムのクリックがAdjustによってボブの招待に帰属されます。トムがアプリをインストールすると、このインストールがAdjustによってボブに帰属されます。サーバーはボブのユーザーIDを含むコールバックを({label}プレースホルダ経由で)受信します。(カスタムSDKのパラメータ経由で)受信します。ボブに特典を与えるために必要なデータがすべてサーバーに揃ったため、サーバーがトムをボブの友人リストに自動的に追加し、紹介プログラムの成果を分析します。SDKのデリゲートコールバックを使用えば手順3のようにラベルにアクセスして、両方のデータを瞬時にアプリ内に受信し、それをもとにさらなるロジックを実行することができます。特定の実装ついて質問があれば、support@adjust.comまでお気軽にお問い合わせください。6参考:コールバックのタイミング、応答、トラフィック負荷の評価adjustは、リアルタイムなコールバックを提供するシステムです。Adjustのシステムでイベントが発生するたびに、登録されたすべてのコールバックの、そのイベントに対する起動の有無がシステムでチェックされます。パートナーが含まれます(コールバック経由でパートナーが受信できるデータについての詳細は特別なパートナーまたはネットワーク統合ガイドをご参照ください)。このイベントのデータを受信した数秒以内にコールバックが確実に発動します。インストールやイベントごとに、必要なコールバックをいくつでも発生させることができます。コールバックをいくつでもダッシュボードに入力し、任意の数のパートナーを有効化できます。クリックURLに複数のコールバックを追加できます。コールバックサーバーは、エンドポイントのHTTPレスポンスを記録しますが、リダイレクトは追跡しません。HTTP400などのエラーコードが返された場合はコールバックを再試行します。エンドポイントから意味のあるレスポンスが返された場合は、adjustのサポートチームがお客様の問題を解決する役に立ちます。サーバーに必要な処理速度やデータ送信量を検討するには、アプリのユーザー数から逆算する必要があります。登録などの1回限りのイベントだけを追跡する場合は、コンバージョンユーザー1人に対してコールバック1回というように、マーケティング活動と直接関連してコールバック数が決まります。コンバージョンイベントのコールバックによって、顧客のサーバーに高負荷がかかることは、普通ありません。6.1AdjustコールバックIPのホワイトリスト管理さらなるセキュリティ対策として、Adjustが用いる特定の範囲のIPアドレスにコールバックの受信を制限することができます。することで、Adjustのサーバーを一意に識別し、Adjust以外のソースから偽装データを受信するような事態を回避できます。Adjustのコールバックはすべて、以下の2つのサブネットから実行されます。これらを、受信側のサーバーで作成するホワイトリストに追加できます。178.162.216.64/26178.162.216.128/26これはサブネット式の表記です。IPアドレスの範囲を展開したリストはこちらをご参照ください。7参考:URLパラメータの追加URLパラメータは、特定の名前が付けられ、ほとんどのサーバーが認識できる特別な構文で送信される値です。標準的なGET構文は以下のとおりです。http://callbacks.myserver.com/path?parameter_one=value_one&parameter_two=value_twoパラメータはURLのパスの後に追加できます。クエスチョンマークの直後に最初のパラメータの名前を記述し、イコールの後にその値を記述します。「ip_address=192.168.1.1」と記述します。後続のパラメータはアンパサンドで区切って追加します。お客様のサーバーで処理できるものであれば、パラメータはいくつでもURLに追加できます。URLにパラメータを追加したい場合は、最後の値の後にアンパサンドを追加し、その後にパラメータの名前を入力し、さらにその後にイコールを追加してパラメータの値をイコールの後ろに入力します。動的なパラメータを使用するケースも多くみられます。この場合、プレースホルダを使用できます。プレースホルダは中かっこで括られた文字列で、動的な値を挿入するようAdjustのサーバーに指示します。http://callbacks.myserver.com/path?campaign=12346&tracker_name={tracker_name}&idfa={idfa}クエスチョンマークとアンパサンドが持つ特別な意味を考慮することが重要です。記号の挿入箇所を間違えるとコールバックが正しく解釈されない可能性があります。詳しくはエンコードのセクションをご参照ください。問題があってパラメータ値を正しく受信できない場合は、以下の項目を確認してください。特殊文字が正しい箇所に挿入され、エンコードされていない。誤挿入されたアンパサンドやスペースといった、エンコードされていない特殊文字や意図しない特殊文字が挿入されていない。プレースホルダの名前が以下のセクションの説明通りに正しい。コールバックではデバイスIDを通知できません)。パラメータの名前が正しい。普通、パラメータの順番は受信に影響しません。8参考:カスタムSDKパラメータAdjustから取得したデータを、自身のSDKで利用できる追加パラメータでも拡張利用したい場合あります。パラメータといいます。SDKからAdjustのサーバーに送信されたのち、Adjustのサーバーからエンドポイントに送信されます。コールにパラメータ辞書を追加してアプリに実装します。このコールの作成方法の詳細な例は、SDKのreadmeで確認できます。パラメータとして送信している場合、「ユーザー123456の購入を追跡」という意味の文字列を記述し、売上イベントのエンドポイントとして、ダッシュボードに以下のようなURLも定義しています。パラメータがポストバックURLに自動的に追加されます。パラメータをダッシュボードで指定することはできません。パラメータはダッシュボードで入力された文字列に自動的に追加されます。辞書のキーがパラメータの名前となり、パラメータ値はこのキーの値をとります。この場合、Adjustによって購入が計測されるたびに、コールバックを即座に受信することになります。http://myserver.com/revenue/?tracker=name_of_the_tracker_encoded&userID=123456Adjustのサーバーは、エンドポイントの名前やパスに関係なく、正しい区切り記号や構文を知的に追加します。パラメータは、購入イベントや登録イベントのユーザーID、購入用の製品ID、アプリ内の特定箇所の現在のステータスなど、追跡されたイベントに関して必要なデータを追跡するときに最も効果を発揮します。パラメータはインストール後のイベントにのみ追加できます。ユーザーはインストール前にアクションを実行できないため、インストール時に送信する必要のあるパラメータはほとんどありません。必要と思われるパラメータは、利用可能なプレースホルダですでに対応されているはずです。9参考:エンコード処理エンコード処理は、複雑なパラメータを追加してでも、URLの構造を正しく維持するために必要です。値としてのURL、通貨記号、メールアドレスなどのパラメータに複雑な文字列を追加する場合は、こうしたパラメータをエンコードして最大限のセキュリティを確保する必要があります。エンコード処理によって、慎重に扱うべき文字列が慎重に扱う必要のない文字列に置き換えられます。この慎重に扱う必要のない文字列は、サーバーが正しく解釈できるパーセント記号とその後に続く2文字で通常構成されています。フィールドに静的なパラメータを追加する場合は、アルファベットと数字以外の文字が含まれていないことを確認します。含まれている場合は、この文字列を最初にエンコードします。})を用いたadjustのプレースホルダはエンコードしないでください。スペースなどは、コールバックに入力する前にエンコードする必要があります。ツールはネットで簡単に入手できます。以下のようなコンテンツのみをエンコードし、URL構造自体はエンコードしないでください。Uncle&email=bob.uncle@mail.com&website=http://www.bobuncle.comエンコード処理を施したURLhttp://callbacks.myserver.com/registration?username=Bob%20Unclde&email=bob.uncle%40mail.com&website=http%3A%2F%2Fwww.bobuncle.com多くのサーバーやシステムでは、受信するURLのパラメータをデコードするのが慣例となっています。コールバックを完全に有効にする前に、お客様のサーバーでも受信するURLのパラメータを必ずデコードできるようにしてください。パラメータもエンコードし、サーバーでの受信時にデコードされるよう設定する必要があります。10参考:利用可能なプレースホルダadjustのウェブサイトに、利用可能なデータの最新のリストが常に公開されています。11条件付きののコールバックフィルタリングまたは変更プレースホルダを使えば、プレースホルダの値に応じて条件付きコールバックを決定し、コールバックURL全体を変更することもできます。環境(ProductionまたはSandboxのどちらからイベントを受信しているか)、デバイスタイプ、その他の利用可能なプレースホルダに応じて、コールバックをフィルター処理できます。フィルタリングは、それぞれのコールバックの前に接頭辞を追加し、equal,{placeholder},value,callbackを記述し、プレースホルダ、期待値、コールバックを置き換えることで実行できます。以下をコールバックとしてダッシュボードに追加すると、Sandboxのイベントがテスト用サーバーに送信され、Releaseのイベントが製品版のサーバーに送信されます。この構文であれば、あらゆるプレースホルダ、値およびコールバックを使用できます。以下のように、値を連結することもできます。equal以外の演算子はサポートされていません。