全部產品
Search
文件中心

Quick Tracking:字串組上傳格式與分析說明

更新時間:Jun 07, 2025

屬性值上報時,可以同時上報多個,例如商品類型可以為母嬰、食品和水果。針對這類需求QuickTracking提供了字串群組類型屬性,本文檔主要介紹了此類型屬性的上報和分析方法。

說明

字串組僅支援事件屬性、全域屬性和使用者屬性

1 使用情境

在使用者購買商品時,需要對客戶的瀏覽、添加購物車和結算行為進行埋點,常見的埋點方案如下:

頁面名稱

頁面編碼

事件名稱

事件編碼

屬性名稱

屬性key

屬性類型

商品頁瀏覽

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

那麼,在埋點上報時就需要在屬性key“goods_type”中同時寫入“堅果”、“零食”、“加工食品”,此類型的屬性即為字串組。具體上報的方式和分析方式可見下文。

2 屬性管理

警告

在上報前,務必提前15分鐘對屬性進行管理:在“資料擷取-埋點管理-屬性管理”模組中,管理屬性類型為“字串組”,否則將會無法解析落庫。

yuque_diagram (1).jpg

yuque_diagram (2).jpg

3 上報方式

警告

在上報前,務必提前15分鐘對屬性進行管理:在“資料擷取-埋點管理-屬性管理”模組中,管理屬性類型為“字串組”,否則將會無法解析落庫。

在SDK上報中,您需要將多個屬性值按照以下格式拼接為一個字串進行上報。如果不符合以下格式,將會解析失敗,無法分析出結果。

"String_arrayString": "['堅果','零食']"
"String_arrayInt": "[1,2]"
"String_arrayBoolean": "[true,false]"

"String_arrayString": ["堅果","零食"]
"String_arrayInt": [1,2]
"String_arrayBoolean": [true,false]

上報格式

格式處理

  • "['堅果','零食']"

  • ["堅果","零食"]

標準上報格式

  • "[1,2]"

  • [1,2]

會被強制轉為字串組"['1','2']",錯誤上報格式,雖可以相容將數值部分改為字串,但盡量不要進行此類型上報。

  • "[true,false]"

  • [true,false]

會被強制轉為字串組"['true','false']",錯誤上報格式,雖可以相容布爾部分改為字串,但盡量不要進行此類型上報。(注意,不支援全大寫或者首字母大寫!!!)

使用 Android自訂事件埋點為例:

Map<String, Object> goods = new HashMap<String, Object>();
goods.put("goods_name", "瓜子");//商品名稱-瓜子
goods.put("goods_type", "['堅果','零食','加工食品']"); //商品類型-堅果、零食、加工食品
goods.put("goods_price",12); //價格:12元
QtTrackAgent.onEventObject(this, "pay_clk", goods, "goods_page");

或使用如下方式:

Map<String, Object> goods = new HashMap<>();
goods.put("goods_name", "瓜子");//商品名稱-瓜子
String[] type_property = {"堅果", "零食", "加工食品"};
goods.put("goods_type", type_property);//商品類型-堅果、零食、加工食品
goods.put("goods_price", 12);//價格:12元
MobclickAgent.onEventObject(mContext, "pay_clk", goods);

使用 iOS自訂事件埋點為例:

NSDictionary *dict = @{@"goods_name" : @"瓜子", @"goods_type" : @"['堅果','零食','加工食品']",@"goods_price" : @12};
[QTMobClick event:@"pay_clk" pageName:@"goods_page" attributes:dict];

或使用如下方式:

 [QTMobClick event:@"pay_clk" attributes:@{
                @"goods_name" : @"瓜子",
                @"goods_price" : @12,
                @"goods_type": @[@"堅果", @"零食", @"加工食品"]
            }];

使用小程式自訂事件埋點為例:

aplus.record('pay_clk', 'CLK', {
  goods_name: '瓜子',
  goods_type: ['堅果','零食','加工食品'],
  goods_price: 12,
  page_name: "goods_page",
});

使用 Web/H5 自訂事件埋點為例:

aplus.record('pay_clk', 'CLK', {
  goods_name: '瓜子',
  goods_type: ['堅果','零食','加工食品'],
  goods_price: 12,
  page_name: "goods_page",
});

4 分析方式

說明

字串組分析方式共分為兩種:

  • 單一值:其含義為將上報字串組內的每一個單一值進行拆解後再分析,例如上文中所描述的['堅果','零食','加工食品'],單一值即表示“堅果”、“零食”、“加工食品”,可針對其中某一個值進行分析。

  • 原始值:其含義為上報字串組變為一個整體的字串進行分析,例如上文中所描述的['堅果','零食','加工食品'],原始值即為"['堅果','零食','加工食品']"。

4.1 支援的分析模型

  1. 選擇指標:事件分析、屬性分析和人群建立時,支援在選擇指標時選擇字串組單一值,其他模型僅支援原始值。

image.png

  1. 選擇分組:事件分析、屬性分析和人群建立時,支援在選擇分組時選擇字串組單一值,其他模型僅支援原始值。

  2. 添加篩選:事件分析、漏鬥分析、分布分析、留存分析、間隔分析、路徑分析、歸因分析、屬性分析、人群建立中支援選擇字串組單一值進行篩選。字串組單一值篩選的規則僅支援:等於、不等於。

  3. 案例:一商鋪今日多名顧客下單,下單內容如下:

    1. A顧客下單瓜子:

      商品名稱:瓜子

      商品類型:堅果、零食、加工食品

      商品價格:12.00

    2. B顧客下單山楂:

      商品名稱:山楂

      商品類型:甜品、零食、加工食品

      商品價格:5.00

    3. C顧客下單開瓶器:

      商品名稱:開瓶器

      商品類型:工具、不鏽鋼

      商品價格:18.00

則按照「商品類型」單一值對購買人數分組時,分組結果如下:

堅果:1人

零食:2人

加工食品:2人

甜品:1人

工具:1人

不鏽鋼:1人

按照「商品類型」原始值對購買人數分組時,分組結果如下:

[堅果、零食、加工食品]:1人

[甜品、零食、加工食品]:1人

[工具、不鏽鋼]:1人

4.2 分組中有值、無值說明

  1. 原始值無值:

    1. 轉化不成數組

    2. 轉化數組後數組值僅有Null 字元串、Null 物件

    3. key沒有上報

  2. 單一值無值:

    1. 轉化為數組後,單一值僅存在Null 字元串或Null 物件

以分析屬性b為例,具體結果如下:

編號

範例(ClickHouse資料庫儲存)

b的原始值

原始值是否有值

單一值是否有值

原始值分組展示

單一值分展示

1

{"a": "hello", "c": 123}

NULL

Null 物件(預置)

Null 物件(預置)

2

{"a": "hello", "b": 123}

123

Null 物件(預置)

Null 物件(預置)

3

{"a": "hello", "b": "s"}

"s"

Null 物件(預置)

Null 物件(預置)

4

{"a": "hello", "b": ""}

""

Null 物件(預置)

Null 物件(預置)

6

{"b": ["堅果", "零食", "加工食品"]}

['堅果','零食','加工食品']

是*3

['堅果','零食','加工食品']

堅果

零食

加工食品

7

{ "b": [null,""]}

[null,'']

Null 物件(預置)

Null 物件(預置)

8

{"b": "[]"}

[]

Null 物件(預置)

Null 物件(預置)

9

{"b": [""]}

['']

Null 字元串(預置)

Null 字元串(預置)

9

{"b": ["", "零食", "加工食品"]}

['','零食','加工食品']

是*2,否*1

['','零食','加工食品']

Null 字元串(預置)

零食

加工食品

10

{"b": [null, "零食", "加工食品"]}

[null, "零食", "加工食品"]

是*2,否*1

[null, "零食", "加工食品"]

Null 物件(預置)

零食

加工食品

5 使用者屬性上報為空白是否覆蓋

若您上報使用者A的使用者屬性「使用者偏好——user_preferences」為:

"user_preferences":"['精靈少女','超級買手']"

後又上報

"user_preferences":"[]"
"user_preferences":"[null]"

QuickTracking會認為是無效上報,將不會對使用者屬性進行覆蓋更新,您上傳如下格式,才會將使用者屬性置為空白:

"user_preferences":"['']"