追跡分析

どのように動作するか

トラッキング分析は、ユーザーが作成したイベントを収集、集計して、プログラムのパフォーマンスと照会数を向上させます。収集されたデータは、確固たる統計がより魅力的なため、アフィリエイト・ネットワークの強化手段としても利用できます。

以下のイベントを処理できます:

  • ランディングページへ移行
  • ランディングページから店へ移行

入手方法

トラッキング分析を統合するには、次のようにします:

  1. JSON ウェブ トークンを取得する(JWT)。
  2. リクエストパラメータからウェブサイトのクッキーにtracking_idを保存します。tracking_id付きリクエストの例: :https://playnewz.com?utm_source=n6LI9yVu&utm_campaign=5b9bff5f9d31b&tracking_id=19e2DLjNTk2YOdXA4d8J3NReNkXNafhC
  3. 新規ユーザーが作成されたら、登録イベント送信メソッド経由でuser_idtracking_idを送信します。
    • エクソーラ Tracking API のレスポンスを待っている間にユーザー登録の邪魔にならないように、リクエストを非同期で送信することをお勧めします。
    • それ以外の場合は、タイムアウトを使用します。エクソーラ Tracking API レスポンスの待ち時間が指定された時間よりも長い場合、新しいユーザーは追跡されないことに注意してください。
  4. カスタムイベントを作成して管理するには、以下のTracking APIメソッドを実装します:イベントを作成初期化および 送信します。
  5. ウェブサイトにトラッキングスクリプトを実装します。

トークンを取得する

HTTPリクエスト

Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/tokens
ヘッダー説明
ContentTypeapplication/json
AuthorizationAuthorization: Basic <your_authorization_basic_key>ヘッダーで、<your_authorization_basic_key>マーチャントID:APIキーのペアで、Base64の基準に従ってエンコードしています。アドミンページに移動して、次のパラメータを見つけます:
  • マーチャントIDは以下の場所で表示されます:
    • 会社設定 > 会社セクション。
    • アドミンページページのブラウザーアドレスバーのURL。URLは以下の形式があります:https:​//publisher.xsolla.com/<merchant ID>/<Publisher Account section>
  • APIキーは、作成時に一度だけアドミンページに表示され、お客様側で保存する必要があります。次のセクションで新しいキーを作成できます:
    • 会社設定 > APIキー
    • プロジェクト設定 > APIキー
必須
注意

APIキーの操作については、APIリファレンスを参照してください。

キーに関する推奨事項:

  • 生成されたAPIキーは、お客様側で保存してください。APIキーは、アドミンページで作成時に一度だけ表示することができます。
  • APIキーは秘密にしておいてください。APIキーは、お客様の個人アカウントとアドミンページのプロジェクトへのアクセスを提供します。
  • APIキーはサーバーに保存する必要があり、決してバイナリやフロントエンドに保存してはいけません。

必要なAPIコールにproject_idパスパラメータが含まれていない場合は、会社のすべてのプロジェクトで有効なAPIキーを使用して認証を設定します。

パラメータ説明
sourceTypeデータソースのタイプ。以下の値を取ることができます:
  • client。このソースタイプは信頼できないと見なされ、ストレージ内のすべてのそれぞれのイベントのステータスはtrusted: falseです。
  • server。このソースタイプは信頼できると見なされ、ストレージ内のすべてのそれぞれのイベントのステータスはtrusted: trueです。
sourceNameデータソース名。
projectIdプロジェクトID。
Copy
Full screen
Small screen

http

  • http
  • php
POST https://tracking-api.xsolla.com/v1/tokens

Headers:
Content-Type: application/json
Authorization: Basic 12kj3hlk1j2hlkjhlk1j2h3lkj

Body:
{
  "sourceType": "client",
  "sourceName": "landing",
  "projectId": 1
}

HTTP/1.1 201 Token created
{
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2 g_dj1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1du"
}
<?php

$curl = curl_init();

$merchantId = 1;
$projectId = 2;
$apiKey = '<apiKey>';

$payload = [
    'sourceType' => 'server',
    'sourceName' => 's1',
    'projectId' => $projectId,
];

curl_setopt($curl, CURLOPT_USERPWD, $merchantId . ":" . $apiKey);


curl_setopt_array($curl, array(
    CURLOPT_URL => "https://tracking-api.xsolla.com/v1/tokens",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => json_encode($payload),
    CURLOPT_HTTPHEADER => [
        "Content-type: application/json"
    ],
));


$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
} else {
    echo $response;
}
応対コード説明
201トークンが作成されました
400質問パラメターが無効です
401プロジェクトキーが無効です

登録イベント送信

そのためにはまずトークンを入手する必要があります。

HTTPリクエスト

Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/events

メソッドの送信中に、次の手順が完了します:

  1. エンドユーザーは、トラフィックソース(インフルエンサーのストリーム、プロモーションページなど)で見つけた追跡リンクをフォローします。アクションにはクリックIDが与えられます。
  2. 追跡IDはプロキシページ側で形成され、パラメータでランディングページに渡されます。
  3. ユーザーはランディングページにアクセスしてサインアップします。
  4. ゲーム開発者は、追跡APIを介して登録イベントを送信することにより、パラメーターでユーザーID追跡IDを渡します。

ヘッダー説明
Authorization以前獲得されたトークン。
パラメータ種類説明
type文字列以前獲得されたトークン。
traitsオブジェクトユーザーIDデータ:
  • trackingId — ゲームのウェブサイトにリダイレクトされるユーザーの Tracking ID。リダイレクト後にエクソーラがこれをリクエストパラメータで送信します。
  • userIdトークン作成に割り当てられるuser ID
contextオブジェクト空欄にする。
propertiesオブジェクト空欄にする。
Copy
Full screen
Small screen

http

  • http
  • php
POST https://tracking-api.xsolla.com/v1/events

Headers:
Content-Type: application/json
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_d j1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1yU

Body:
{
  "type": "registration",
  "traits": {
    "trackingId": "19e2DLjNTk2YOdXA4d8J3NReNkXNafhC",
    "userId": "20181126"
  },
  "properties": {
  },
  "context": {
  }
}'
<?php

$curl = curl_init();

$token  = '<token>';

$payload = [
    'type' => 'registration',
    'traits' => [
        'trackingId' => "19e2DLjNTk2YOdXA4d8J3NReNkXNafhC",
        'userId' => "20181126",
    ],
    'properties' => [],
    'context' => [],
];

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://tracking-api.xsolla.com/v1/events",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS => json_encode($payload,JSON_FORCE_OBJECT),
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer {$token}",
        "Content-type: application/json"
    ],
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
    echo "cURL Error #:" . $err;
}

イベントを作成する

そのためにはまずトークンを入手する必要があります。

HTTPリクエスト

Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/events
ヘッダー説明
Authorization以前獲得されたトークン。
パラメータ種類説明
type文字列イベントの種類。
traitsオブジェクトユーザーIDデータ:電話番号、Eメール、ゲーム内IDなど。
contextオブジェクト文脈上のデータ。
propertiesオブジェクトイベントのプロパティ。
createdAt日付フォーマット:RFC3339またはISO8601ごとに決定。
イベント例:ランディングページへ移行
Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/events

Headers:
Content-Type: application/json
Authorization: Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_d j1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1yU 

Body:
{
  "type": "landing_visit",
  "traits":{
    },
  "properties":{
    },
  "context": {
    "user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", "user_locale":"ru"
  }
}

イベント例:支払いステーションへ移行

Copy
Full screen
Small screen
POST https://tracking-api.xsolla.com/v1/events

Headers:
Content-Type: application/json
Authorization: Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_d j1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1yU 

Body:
{
  "type": "buy_btn",
  "traits":{
    },
  "properties":{
    "pkg_type":"bronze"
    },
  "context": {
    "user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36", "user_locale":"ru"
  }
}
応対コード説明
204イベントが追加されました
400イベントが無効です
401トークンが無効です

イベントを初期化する

そのためにはまずトークンを入手する必要があります。

Copy
Full screen
Small screen
xnt("init", YOUR_TOKEN);

イベントを送信する

Copy
Full screen
Small screen
xnt("sendEvent", EVENT_TYPE, EVENT_PROPERTIES);
パラメータ説明
EVENT_TYPEイベント名(ストリング)。例landing_visit
EVENT_PROPERTIESイベント特性(JSオブジェクト)。
Copy
Full screen
Small screen
xnt("sendEvent", "landing_visit");
xnt("sendEvent", "buy_btn", { pkg_type: $(this).data('id') });

イベントパラメーター

パラメータ説明
sourceイベントソース(支払いステーション、landing_pageなど)。
typeイベントの種類(user_visit、ヒット数など)。
traitsユーザーデータ(Eメール、user_id、ニックネームなど)。
contextイベント環境(ip、gaClientIdなど)。
propertiesイベント特性(合計、レベルアップなど)。
createdAtソースによって経過したイベント時間。
timestampシステムが受理したイベント時間。
イベントをcontextと& traitsパラメーターで補完するには、以下の方法を使って下さい:
Copy
Full screen
Small screen
xnt("putContext", CONTEXT_OBJECT);
xnt("putTraits", TRAITS_OBJECT);
パラメータ説明
CONTEXT_OBJECTイベント環境(JSオブジェクト)。
TRAITS_OBJECTユーザーデータ(JSオブジェクト)。
お知らせ
コンテキストのuserAgentuserLocaleは自動的に追加されます。これら2つの方法で追加されたデータは、イベントデータと組み合わせられます。

スクリプトを実装する

ランディングページに以下のスクリプトを履行する:

Copy
Full screen
Small screen
<script>
(function(i,s,o,g,r,a,m){i['XsollaNetworkTrackingObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(ar guments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.inse rtBefore(a,m)})(window,document,'script','https://cdn.xsolla.net/network/xtracking-0.1.js','xnt');
xnt("init", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_ dj1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1du");
xnt("sendEvent", "buy_btn", { pkg_type : "gold" });
</script>
この記事は役に立ちましたか?
ありがとうございます!
改善できることはありますか? メッセージ
申し訳ありません
この記事が参考にならなかった理由を説明してください。 メッセージ
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。
最終更新日: 2024年5月13日

誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。

問題を報告する
当社は常にコンテンツを見直しています。お客様のご意見は改善に役立ちます。
フォローアップ用のメールをご提供してください
ご意見ありがとうございました!