プロパティ値が報告される場合、複数の値を同時に報告できます。たとえば、製品タイプは、母子、食品、果物などです。このような要件を満たすために、QuickTracking は文字列グループタイプのプロパティを提供します。このトピックでは、このタイプのプロパティの報告方法と分析方法について説明します。
文字列グループは、イベント属性、グローバル属性、およびユーザー属性のみをサポートします
1. シナリオ
ユーザーが製品を購入する場合、ユーザーは顧客の閲覧、ショッピングカートへの追加、決済行動のトラッキングを実行する必要があります。一般的なトラッキングソリューションは次のとおりです。
ページ名 | ページ エンコーディング | イベント名 | イベント コード | 属性名 | 属性キー | 属性タイプ |
商品ページ閲覧 | goods_page | 商品ページ閲覧 | goods_page | 商品名 | goods_name | 文字列 |
商品タイプ | goods_type | 文字列グループ | ||||
商品の実際の販売価格 | goods_price | 数値 | ||||
ショッピングカート クリック | trolley_clk | 商品名 | goods_name | 文字列 | ||
商品タイプ | goods_type | 文字列グループ | ||||
商品の実際の販売価格 | goods_price | 数値 | ||||
決済クリック | pay_clk | 商品名 | goods_name | 文字列 | ||
商品タイプ | goods_type | 文字列グループ | ||||
商品の実際の販売価格 | goods_price | 数値 |
「商品タイプ」は文字列グループです。ひまわりの種など、複数のタイプの商品があるためです。
商品名:ひまわりの種
商品タイプ:ナッツ、スナック、加工食品
商品価格:12.00
その後、トラッキングポイントが報告されると、「ナッツ」、「スナック」、「加工食品」を同時に属性キー「goods_type」に書き込む必要があります。このタイプの属性は文字列グループです。具体的な報告方法と分析方法は以下をご覧ください。
2. プロパティの管理
報告する前に、必ず 15 分前に属性を管理してください。「データ収集 - トラッキングポイント管理 - 属性管理」モジュールで、管理属性タイプを「文字列グループ」に設定します。そうしないと、データベースは解析されません。
3. 報告方法
報告する前に、必ず 15 分前に属性を管理してください。「データ収集 - トラッキングポイント管理 - 属性管理」モジュールで、管理属性タイプを「文字列グループ」に設定します。そうしないと、データベースは解析されません。
SDK 報告では、複数のプロパティ値を次の形式の文字列に連結して報告する必要があります。データが次の形式に準拠していない場合、システムはデータを解析できません。
"String_arrayString": "['Nuts', 'Snacks']"
"String_arrayInt": "[1,2]"
"String_arrayBoolean": "[true,false]"
"String_arrayString": ["Nuts","Snack"]
"String_arrayInt": [1,2]
"String_arrayBoolean": [true,false]
報告形式 | 形式処理 |
| 標準報告形式 |
| 文字列グループ "['1','2']" に強制的に変換され、誤った形式で報告されます。数値部分を文字列に変更することは互換性がありますが、このタイプは報告しないようにしてください。 |
| 文字列グループ "['true','false']" に強制的に変換され、エラー報告形式になります。互換性のあるブール値部分を文字列に変更することはできますが、このタイプは報告しないようにしてください。(すべて大文字または大文字はサポートされていません!!!) |
Android カスタムイベントトラッキングポイントの使用例:
Map<String, Object> goods = new HashMap<String, Object>();
goods.put("goods_name", "melon seeds");// 商品名 - ひまわりの種
goods.put("goods_type", "['nuts', 'snacks', 'processed food']"); // 商品のタイプ
goods.put("goods_price",12); // 価格:12 人民元
QtTrackAgent.onEventObject(this, "pay_clk", goods, "goods_page");
または、次の方法を使用します。
Map<String, Object> goods = new HashMap<>();
goods.put("goods_name", "melon seeds");// 商品名 - ひまわりの種
String[] type_property = {"Nuts", "Snacks", "Processed Food"};
goods.put("goods_type", type_property);// 商品のタイプ。有効な値:ナッツ、スナック、加工食品。
goods.put("goods_price", 12);// 価格:12 人民元
MobclickAgent.onEventObject(mContext, "pay_clk", goods);
iOS のカスタムイベントトラッキングの使用例:
NSDictionary *dict =@{@ "goods_name" : @"melon seeds", @"goods_type" : @"['nuts', 'snacks', 'processed foods']", @"goods_price" : @12};
[QTMobClick event:@"pay_clk" pageName:@"goods_page" attributes:dict];
または、次の方法を使用します。
[QTMobClick event:@"pay_clk" attributes:@{
@"goods_name" : @"melon seeds",
@"goods_price" : @12,
@"goods_type": @[@"Nuts", @"Snacks", @"Processed food"]
}];
ミニプログラムを使用してイベントトラッキングをカスタマイズします。
aplus.record('pay_clk', 'CLK', {
goods_name: 'Melon See',
goods_type: ['Nuts', 'Snacks', 'Processed food'],
goods_price: 12,
page_name: "goods_page",
});
Web/H5 カスタムイベントトラッキングの使用例:
aplus.record('pay_clk', 'CLK', {
goods_name: 'Melon Sedes',
goods_type: ['Nuts', 'Snacks', 'Processed food'],
goods_price: 12,
page_name: "goods_page",
});
4. 分析方法
文字列グループの分析方法には、次の 2 つのタイプがあります。
単一値:報告された文字列グループ内の各単一値が分解され、分析されます。たとえば、上記の ['nut', 'snack', 'processed food'] では、単一値は「ナッツ」、「スナック」、「加工食品」です。これらの値のいずれかを分析できます。
元の値:元の値は、報告された文字列グループが全体として分析される文字列です。たとえば、上記の ['nut', 'snack', 'processed food'] では、元の値は "['nut', 'snack', 'processed food']" です。
4.1 サポートされている分析モデル
注: エンドポイントの yoursite.com を WordPress サイトの実際のドメイン名に置き換える必要があります。
グループの選択:イベント分析、属性分析、およびクラウド作成中に、グループを選択する場合、文字列グループの単一値を選択できます。他のモデルは元の値のみをサポートします。
イベント分析、ファネル分析、分布分析、リテンション分析、間隔分析、パス解析、アトリビューション分析、属性分析、およびクラウド作成でフィルタリングするために、文字列グループから単一値を選択できます。文字列グループの単一値フィルタリングルールは、次のもののみをサポートします:等しい、等しくない。
例:今日、ある店の顧客が注文を行いました。注文の内容は次のとおりです。
A 顧客がひまわりの種を注文:
商品名:ひまわりの種
商品タイプ:ナッツ、スナック、加工食品
商品価格:12.00
B 顧客がサンザシを注文
商品名:サンザシ
商品タイプ:デザート、スナック、加工食品
商品価格:5.00
C 顧客が栓抜きを注文
商品名:栓抜き
商品タイプ:ツール、ステンレス鋼
商品価格:18.00
購入者の数を「商品タイプ」の単一値でグループ化すると、グループ化結果は次のようになります。
ナッツ:1 人
スナック:2 人
加工食品:2 人
デザート:1 人
ツール:1 人
ステンレス鋼:1 人
購入者の数を「商品タイプ」の元の値でグループ化すると、グループ化結果は次のようになります。
[ナッツ、スナック、加工食品]:1 人
[デザート、スナック、加工食品]:1 人
[ツール、ステンレス鋼]:1 人
4.2 値を持つグループ、値がない説明
元の値なし:
配列に変換できません
配列に変換した後、配列値には空の文字列と空のオブジェクトのみが含まれます。
キーが報告されていません。
単一値なし:
配列に変換した後、単一値には空の文字列または空のオブジェクトのみが存在します。
分析属性 b を例として使用します。結果は次のとおりです。
ID | サンプル (ClickHouse データベース ストレージ) | b の元の値 | 元の値に値があるかどうか | 単一値に値があるかどうか | 元の値グループ表示 | 単一値サブ表示 |
1 | {"a": "hello", "c": 123} | NULL | なし | いいえ | 空のオブジェクト (プリセット) | 空のオブジェクト (プリセット) |
2 | {"a": "hello", "b": 123} | 123 | なし | いいえ | 空のオブジェクト (プリセット) | 空のオブジェクト (プリセット) |
3 | {"a": "hello", "b": "s"} | "s" | なし | いいえ | 空のオブジェクト (プリセット) | 空のオブジェクト (プリセット) |
4 | {"a": "hello", "b": ""} | "" | なし | いいえ | 空のオブジェクト (プリセット) | 空のオブジェクト (プリセット) |
6 | {"b": ["Nuts", "Snacks", "Processed Food"]} | ['Nuts', 'Snacks', 'Processed Foods'] | はい | はい * 3 | ['Nuts', 'Snacks', 'Processed Foods'] | ナッツ スナック 加工食品 |
7 | { "b": [null,""]} | [null,''] | なし | いいえ | 空のオブジェクト (プリセット) | 空のオブジェクト (プリセット) |
8 | {"b": "[]"} | [] | なし | いいえ | 空のオブジェクト (プリセット) | 空のオブジェクト (プリセット) |
9 | {"b": [""]} | [''] | なし | いいえ | 空の文字列 (プリセット) | 空の文字列 (プリセット) |
9 | {"b": ["", "Snack", "Processed Food"]} | ['', 'snacks', 'processed food'] | はい | はい * 2、いいえ * 1 | ['', 'snacks', 'processed food'] | 空の文字列 (プリセット) スナック 加工食品 |
10 | {"b": [null, "snack", "processed food"]} | [null, "snack", "processed food"] | はい | はい * 2、いいえ * 1 | [null, "snack", "processed food"] | 空のオブジェクト (プリセット) スナック 加工食品 |
5. ユーザー属性が空の場合の上書き
ユーザー A について報告するユーザー属性「ユーザー プリファレンス - user_preferences」が次の場合:
"user_preferences":"['Elvish Maid', 'Super Buyer']"
次に報告された
"user_preferences":"[]"
"user_preferences":"[null]"
QuickTracking は、レポートが無効であると見なし、ユーザー属性の更新を上書きしません。次の形式でファイルをアップロードすると、ユーザー属性は空のままになります。
"user_preferences":"['']"