追跡分析
どのように動作するか
トラッキング分析は、ユーザーが作成したイベントを収集、集計して、プログラムのパフォーマンスと照会数を向上させます。収集されたデータは、確固たる統計がより魅力的なため、アフィリエイト・ネットワークの強化手段としても利用できます。
以下のイベントを処理できます:
- ランディングページへ移行
- ランディングページから店へ移行
入手方法
トラッキング分析を統合するには、次のようにします:
- JSON ウェブ トークンを取得する(JWT)。
- リクエストパラメータからウェブサイトのクッキーにtracking_idを保存します。tracking_id付きリクエストの例: :
https://playnewz.com?utm_source=n6LI9yVu&utm_campaign=5b9bff5f9d31b&tracking_id=19e2DLjNTk2YOdXA4d8J3NReNkXNafhC
。 - 新規ユーザーが作成されたら、登録イベント送信メソッド経由でuser_idとtracking_idを送信します。
- エクソーラ Tracking API のレスポンスを待っている間にユーザー登録の邪魔にならないように、リクエストを非同期で送信することをお勧めします。
- それ以外の場合は、タイムアウトを使用します。エクソーラ Tracking API レスポンスの待ち時間が指定された時間よりも長い場合、新しいユーザーは追跡されないことに注意してください。
- カスタムイベントを作成して管理するには、以下のTracking APIメソッドを実装します:イベントを作成、初期化および 送信します。
- ウェブサイトにトラッキングスクリプトを実装します。
トークンを取得する
HTTPリクエスト
Copy
- http
POST https://tracking-api.xsolla.com/v1/tokens
ヘッダー | 説明 |
---|---|
ContentType | application/json |
Authorization | Authorization: Basic <your_authorization_basic_key> ヘッダーで、<your_authorization_basic_key> はマーチャントID:APIキーのペアで、Base64の基準に従ってエンコードしています。アドミンページに移動して、次のパラメータを見つけます:
|
注意
APIキーの操作については、APIリファレンスを参照してください。
キーに関する推奨事項:
- 生成されたAPIキーは、お客様側で保存してください。APIキーは、アドミンページで作成時に一度だけ表示することができます。
- APIキーは秘密にしておいてください。APIキーは、お客様の個人アカウントとアドミンページのプロジェクトへのアクセスを提供します。
- APIキーはサーバーに保存する必要があり、決してバイナリやフロントエンドに保存してはいけません。
必要なAPIコールにproject_id
パスパラメータが含まれていない場合は、会社のすべてのプロジェクトで有効なAPIキーを使用して認証を設定します。
パラメータ | 説明 |
---|---|
sourceType | データソースのタイプ。以下の値を取ることができます:
|
sourceName | データソース名。 |
projectId | プロジェクトID。 |
Copy
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
- http
POST https://tracking-api.xsolla.com/v1/events
メソッドの送信中に、次の手順が完了します:
- エンドユーザーは、トラフィックソース(インフルエンサーのストリーム、プロモーションページなど)で見つけた追跡リンクをフォローします。アクションにはクリックIDが与えられます。
- 追跡IDはプロキシページ側で形成され、パラメータでランディングページに渡されます。
- ユーザーはランディングページにアクセスしてサインアップします。
- ゲーム開発者は、追跡APIを介して登録イベントを送信することにより、パラメーターでユーザーIDと追跡IDを渡します。
ヘッダー | 説明 |
---|---|
Authorization | 以前獲得されたトークン。 |
パラメータ | 種類 | 説明 |
---|---|---|
type | 文字列 | 以前獲得されたトークン。 |
traits | オブジェクト | ユーザーIDデータ:
|
context | オブジェクト | 空欄にする。 |
properties | オブジェクト | 空欄にする。 |
Copy
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
- http
POST https://tracking-api.xsolla.com/v1/events
ヘッダー | 説明 |
---|---|
Authorization | 以前獲得されたトークン。 |
パラメータ | 種類 | 説明 |
---|---|---|
type | 文字列 | イベントの種類。 |
traits | オブジェクト | ユーザーIDデータ:電話番号、Eメール、ゲーム内IDなど。 |
context | オブジェクト | 文脈上のデータ。 |
properties | オブジェクト | イベントのプロパティ。 |
createdAt | 日付 | フォーマット:RFC3339またはISO8601ごとに決定。 |
Copy
- http
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
- http
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
- html
xnt("init", YOUR_TOKEN);
イベントを送信する
Copy
- html
xnt("sendEvent", EVENT_TYPE, EVENT_PROPERTIES);
パラメータ | 説明 |
---|---|
EVENT_TYPE | イベント名(ストリング)。例landing_visit 。 |
EVENT_PROPERTIES | イベント特性(JSオブジェクト)。 |
Copy
- html
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
- html
xnt("putContext", CONTEXT_OBJECT);
xnt("putTraits", TRAITS_OBJECT);
パラメータ | 説明 |
---|---|
CONTEXT_OBJECT | イベント環境(JSオブジェクト)。 |
TRAITS_OBJECT | ユーザーデータ(JSオブジェクト)。 |
お知らせ
コンテキストの
userAgent
とuserLocale
は自動的に追加されます。これら2つの方法で追加されたデータは、イベントデータと組み合わせられます。スクリプトを実装する
ランディングページに以下のスクリプトを履行する:
Copy
- html
<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>
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。