追跡分析
どのように動作するか
トラッキング分析を使用すると、ユーザーが生成したイベントを収集または集計し、キャンペーンのパフォーマンスや紹介数を評価できます。収集されたデータは、確固たる統計がより魅力的なため、アフィリエイトネットワークの強化手段としても利用できます。
以下のイベントを処理できます:
- ランディングページへ移行
- ランディングページから店へ移行
入手方法
トラッキング分析を統合するには、次のようにします:
- 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
1POST 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
1POST https://tracking-api.xsolla.com/v1/tokens
2
3Headers:
4Content-Type: application/json
5Authorization: Basic 12kj3hlk1j2hlkjhlk1j2h3lkj
6
7Body:
8{
9 "sourceType": "client",
10 "sourceName": "landing",
11 "projectId": 1
12}
13
14HTTP/1.1 201 Token created
15{
16 "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2 g_dj1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1du"
17}
1<?php
2
3$curl = curl_init();
4
5$merchantId = 1;
6$projectId = 2;
7$apiKey = '<apiKey>';
8
9$payload = [
10 'sourceType' => 'server',
11 'sourceName' => 's1',
12 'projectId' => $projectId,
13];
14
15curl_setopt($curl, CURLOPT_USERPWD, $merchantId . ":" . $apiKey);
16
17
18curl_setopt_array($curl, array(
19 CURLOPT_URL => "https://tracking-api.xsolla.com/v1/tokens",
20 CURLOPT_RETURNTRANSFER => true,
21 CURLOPT_ENCODING => "",
22 CURLOPT_MAXREDIRS => 10,
23 CURLOPT_TIMEOUT => 30,
24 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
25 CURLOPT_CUSTOMREQUEST => "POST",
26 CURLOPT_POSTFIELDS => json_encode($payload),
27 CURLOPT_HTTPHEADER => [
28 "Content-type: application/json"
29 ],
30));
31
32
33$response = curl_exec($curl);
34$err = curl_error($curl);
35
36curl_close($curl);
37
38if ($err) {
39 echo "cURL Error #:" . $err;
40} else {
41 echo $response;
42}
応対コード | 説明 |
---|---|
201 | トークンが作成されました |
400 | 質問パラメターが無効です |
401 | プロジェクトキーが無効です |
登録イベント送信
そのためにはまずトークンを入手する必要があります。
HTTPリクエスト
Copy
- http
1POST https://tracking-api.xsolla.com/v1/events
メソッドの送信中に、次の手順が完了します:
- エンドユーザーは、トラフィックソース(クリエイターのストリーム、プロモーションページなど)で見つけたトラッキングリンクをフォローします。アクションにはクリックIDが与えられます。
- トラッキングIDはプロキシページ側で形成され、パラメータでランディングページに渡されます。
- ユーザーはランディングページにアクセスして新規登録します。
- ゲーム開発者は、追跡APIを介して登録イベントを送信することにより、パラメータでユーザーIDとトラッキングIDを渡します。
ヘッダー | 説明 |
---|---|
Authorization | 以前獲得されたトークン。 |
パラメータ | 種類 | 説明 |
---|---|---|
type | 文字列 | 以前獲得されたトークン。 |
traits | オブジェクト | ユーザーIDデータ:
|
context | オブジェクト | 空欄にする。 |
properties | オブジェクト | 空欄にする。 |
Copy
http
- http
- php
1POST https://tracking-api.xsolla.com/v1/events
2
3Headers:
4Content-Type: application/json
5Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_d j1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1yU
6
7Body:
8{
9 "type": "registration",
10 "traits": {
11 "trackingId": "19e2DLjNTk2YOdXA4d8J3NReNkXNafhC",
12 "userId": "20181126"
13 },
14 "properties": {
15 },
16 "context": {
17 }
18}'
1<?php
2
3$curl = curl_init();
4
5$token = '<token>';
6
7$payload = [
8 'type' => 'registration',
9 'traits' => [
10 'trackingId' => "19e2DLjNTk2YOdXA4d8J3NReNkXNafhC",
11 'userId' => "20181126",
12 ],
13 'properties' => [],
14 'context' => [],
15];
16
17curl_setopt_array($curl, array(
18 CURLOPT_URL => "https://tracking-api.xsolla.com/v1/events",
19 CURLOPT_RETURNTRANSFER => true,
20 CURLOPT_ENCODING => "",
21 CURLOPT_MAXREDIRS => 10,
22 CURLOPT_TIMEOUT => 30,
23 CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
24 CURLOPT_CUSTOMREQUEST => "POST",
25 CURLOPT_POSTFIELDS => json_encode($payload,JSON_FORCE_OBJECT),
26 CURLOPT_HTTPHEADER => [
27 "Authorization: Bearer {$token}",
28 "Content-type: application/json"
29 ],
30));
31
32$response = curl_exec($curl);
33$err = curl_error($curl);
34
35curl_close($curl);
36
37if ($err) {
38 echo "cURL Error #:" . $err;
39}
イベントを作成する
そのためにはまずトークンを入手する必要があります。
HTTPリクエスト
Copy
- http
1POST https://tracking-api.xsolla.com/v1/events
ヘッダー | 説明 |
---|---|
Authorization | 以前獲得されたトークン。 |
パラメータ | 種類 | 説明 |
---|---|---|
type | 文字列 | イベントの種類。 |
traits | オブジェクト | ユーザーIDデータ:電話番号、Eメール、ゲーム内IDなど。 |
context | オブジェクト | 文脈上のデータ。 |
properties | オブジェクト | イベントのプロパティ。 |
createdAt | 日付 | フォーマット:RFC3339またはISO8601ごとに決定。 |
Copy
- http
1POST https://tracking-api.xsolla.com/v1/events
2
3Headers:
4Content-Type: application/json
5Authorization: Bearer
6eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_d j1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1yU
7
8Body:
9{
10 "type": "landing_visit",
11 "traits":{
12 },
13 "properties":{
14 },
15 "context": {
16 "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"
17 }
18}
イベント例:支払いステーションへ移行
Copy
- http
1POST https://tracking-api.xsolla.com/v1/events
2
3Headers:
4Content-Type: application/json
5Authorization: Bearer
6eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_d j1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1yU
7
8Body:
9{
10 "type": "buy_btn",
11 "traits":{
12 },
13 "properties":{
14 "pkg_type":"bronze"
15 },
16 "context": {
17 "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"
18 }
19}
応対コード | 説明 |
---|---|
204 | イベントが追加されました |
400 | イベントが無効です |
401 | トークンが無効です |
イベントを初期化する
そのためにはまずトークンを入手する必要があります。
Copy
- html
1xnt("init", YOUR_TOKEN);
イベントを送信する
Copy
- html
1xnt("sendEvent", EVENT_TYPE, EVENT_PROPERTIES);
パラメータ | 説明 |
---|---|
EVENT_TYPE | イベント名(ストリング)。例landing_visit 。 |
EVENT_PROPERTIES | イベント特性(JSオブジェクト)。 |
Copy
- html
1xnt("sendEvent", "landing_visit");
2xnt("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
1xnt("putContext", CONTEXT_OBJECT);
2xnt("putTraits", TRAITS_OBJECT);
パラメータ | 説明 |
---|---|
CONTEXT_OBJECT | イベント環境(JSオブジェクト)。 |
TRAITS_OBJECT | ユーザーデータ(JSオブジェクト)。 |
お知らせ
コンテキストの
userAgent
とuserLocale
は自動的に追加されます。これら2つの方法で追加されたデータは、イベントデータと組み合わせられます。スクリプトを実装する
ランディングページに以下のスクリプトを履行する:
Copy
- html
1<script>
2(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');
3xnt("init", "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsaW5rIjoiaHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g_ dj1kUXc0dzlXZ1hjUSJ9.aVigY6UVY3jgoEKoBv31cZnROL3I6WKtcr5K-Z7B1du");
4xnt("sendEvent", "buy_btn", { pkg_type : "gold" });
5</script>
この記事は役に立ちましたか?
ご意見ありがとうございました!
あなたのメッセージを確認し、体験を向上させるために利用させていただきます。誤字脱字などのテキストエラーを見つけましたか? テキストを選択し、Ctrl+Enterを押します。