

# 讓 TikTok 關鍵字研究可以跨查詢組比較

公平比較 TikTok 關鍵字搜尋樣本。為每個詞設定收集預算、追蹤查詢來源紀錄，並記錄停止狀態。Actor 是託管的資料收集程式。Task 是已儲存的輸入預設。Actor 收集來源資料行，分析則由你進行。

## 設定你的收集計劃

已儲存的公開 Task 輸入使用三個樣本查詢，`expandQueries` 設為 false，共用的 `maxResults` 上限為 150 條不重複影片，`resultsPerQuery` 設為 50，`maxPagesPerQuery` 設為 1，`searchDistribution` 設為 "balanced"。在執行完整面板之前，請把這些樣本查詢換成你的目標詞。

如要在公開 Search build 1.1.5 下驗證你的設定，先做一次有界限的先導執行。把樣本查詢清單換成一個預定詞。將 `expandQueries` 設為 false，`maxExpandedQueries` 設為 0，`maxResults` 設為 2，`resultsPerQuery` 設為 2，`maxPagesPerQuery` 設為 1，`searchDistribution` 設為 "balanced"。

用 "python tutorial" 做的基線檢查傳回兩行元資料，當中有貼文 ID、貼文 URL、作者 ID、帳號代號、五月和八月的發布日期，以及 OUTPUT 停止原因 `max_results_reached`。這次先導確認了基本搜尋欄位和來源紀錄，但它不是多查詢趨勢基準，也不是廣告活動測試。

## 原生資料集欄位與執行證據

原生資料集紀錄包括 `postId`、`postUrl`、`authorId`、`profileHandle`、`publishedAt` 和 `observedAt`。搜尋來源紀錄欄位追蹤查詢上下文：`rootQuery` 是原本的查詢族，`query` 是實際執行的搜尋詞，`querySource` 標明該詞的來源。`pageIndex` 和 `pageRank` 記錄該項目在已收集來源頁上的位置。`status` 和 `statusReason` 報告項目層級的結果狀態。如果來源中沒有可選欄位，這些欄位保持 null。

`OUTPUT` 物件提供的是執行證據，而不是自動的查詢對應。主要欄位包括：

- `queriesSearched`：實際執行的詞的陣列。
- `queryPlans`：查詢、根查詢和來源定義的計劃清單。
- `effectiveResultsPerQuery`：在均衡分配期間計算出、並已調低的每詞已儲存影片上限。
- `rowsSaved`：寫入資料集的不重複影片總數。
- `duplicatesSkipped`：因全域去重而未收錄的候選影片。
- `stopReason`：整次執行的停止狀態，例如 `max_results_reached`。
- `sourceStatusCounts`：彙總後的來源狀態，例如 `{ok: 1}`。
- `status` 和 `statusReason`：頂層執行結果，例如 `status: "ok"` 和 `statusReason: null`。

在單查詢對照執行中，`OUTPUT` 報告 `stopReason: "max_results_reached"`、`rowsSaved: 2`、`sourceStatusCounts: {ok: 1}`、`status: "ok"`，以及 `statusReason: null`。

有用比例的定義是：就該已嘗試的詞而言，已審閱、判定相關且具已知 ID 的影片數，除以可比較的可審閱候選樣本；失敗或未嘗試的詞沒有有效比例。

## 設定你的收集計劃

1. 搜尋之前先界定研究問題和查詢族。只有當詞代表同一概念時才把它們歸為一組，並保留一份明確的查詢清單。
2. 設定共用的 `maxResults`、`resultsPerQuery`、`maxPagesPerQuery`、擴展選擇和 `searchDistribution`。比較一份精確的固定清單時，請關閉擴展。共用的 `maxResults` 是所有查詢合計的已儲存影片總上限，而 `resultsPerQuery` 限制個別詞。
3. 如需在各詞之間有計劃地分配份額，請選擇均衡分配。只有當目標是先填滿較早的詞時，才選擇順序分配。均衡分配可能調低 `effectiveResultsPerQuery`，以分攤總上限，但它不保證配額會被填滿，也不保證未使用的分配額會重新分配。
4. 把計劃預算和實際有用資料分開。記錄嘗試狀態、已儲存資料行、已知影片 ID、重複項目、缺失身分，以及來源失敗狀態。來源失敗之後有用資料行為零，表示可得性未知，而不是該主題的興趣為零。
5. 保留來源紀錄，並小心處理全域去重。來源紀錄是指保留 `observedAt` 所記錄的確切已儲存來源和收集時間。原生全域去重只在影片首次被觀察到的查詢下儲存該影片一次。要捕捉每一次在查詢中的出現，請為每個查詢保留分開的執行帳冊。
6. 對所有組套用同一條手動相關性規則。透過核對確切的 `postId` 和 `postUrl` 值，區分候選影片和有用項目。只使用已嘗試且可用的資料計算有用比例，並把失敗或未嘗試的詞視為未知。
7. 比較各組之前先報告缺口。把未嘗試的詞標為 `not_attempted`，而不是零，並讓來源上限保持可見。當收集上限或失敗情況不同時，切勿只按原始總數為查詢組排名。
8. 儲存你的查詢計劃和實際樣本帳冊。在進行[趨勢](/zh-Hant/articles/%E5%9B%BA%E5%AE%9A%E4%B8%BB%E9%A1%8C%E9%9D%A2%E6%9D%BF%E8%AD%98%E5%88%A5tiktok%E8%B6%A8%E5%8B%A2/)或[廣告素材分析](/zh-Hant/articles/tiktok-ugc-%E5%BB%A3%E5%91%8A%E7%B4%A0%E6%9D%90%E7%AF%84%E4%BE%8B%E5%BA%AB/)之前，檢視 `OUTPUT` 欄位，例如 `queriesSearched`、`queryPlans`、`rowsSaved`、`duplicatesSkipped` 和 `stopReason`，以記錄確切的停止證據。

## 原創虛構收集帳冊

以下所有數值都是為說明收集預算、停止狀態和全域去重限制而創作的原創虛構內容。它們不代表實時產品基準或先導結果。

考慮三個詞 A、B 和 C：`maxPagesPerQuery` 設為 1，擴展關閉，`maxResults` 設為 6，要求的 `resultsPerQuery` 設為 6。

- 均衡執行：報告的 `effectiveResultsPerQuery` 為 2，即每個詞的計劃上限是 2 條已儲存影片。如果每個詞都傳回 2 條互不相同的相關影片，帳冊顯示 A=2、B=2、C=2，共儲存 6 條影片。每個詞的有用比例是 2/2。
- 順序執行：詞 A、B 和 C 已設定的每詞上限是 6。詞 A 傳回 6 條已儲存影片，並填滿共用的 `maxResults` 上限 6。詞 B 和詞 C 從未被嘗試。帳冊為每個詞記錄計劃上限 6，其中 A 儲存 6，B 儲存 0（`not_attempted`），C 儲存 0（`not_attempted`）。為 B 和 C 記下 0 行已儲存資料只是記帳；它們的樣本可得性仍然未知。
- 均衡執行中的來源失敗：詞 A 儲存 2 條有用影片（比例 2/2），詞 C 儲存 2 條有用影片（比例 2/2），詞 B 遇到來源錯誤。詞 B 記錄 0 行已儲存資料、0 行有用資料，以及未知的相關性比例。標籤 `source_failed` 是讀者帳冊用的記號，不是原生資料集的列舉值。

| 查詢詞 | 模式 | 計劃上限 | 已嘗試 | 已儲存資料行 | 有用資料行 | 停止原因／狀態 |
| --- | --- | --- | --- | --- | --- | --- |
| 詞 A | 均衡 | 2 | 是 | 2 | 2 | 已達到每查詢上限 |
| 詞 B | 均衡 | 2 | 是 | 2 | 2 | 已達到每查詢上限 |
| 詞 C | 均衡 | 2 | 是 | 2 | 2 | 已達到每查詢上限 |
| 詞 A | 順序 | 6 | 是 | 6 | 6 | 已達到共用 `maxResults` |
| 詞 B | 順序 | 6 | 否 | 0 | 未知 | `not_attempted` |
| 詞 C | 順序 | 6 | 否 | 0 | 未知 | `not_attempted` |
| 詞 A | 均衡（B 失敗） | 2 | 是 | 2 | 2 | 已達到每查詢上限 |
| 詞 B | 均衡（B 失敗） | 2 | 是 | 0 | 未知 | `source_failed` |
| 詞 C | 均衡（B 失敗） | 2 | 是 | 2 | 2 | 已達到每查詢上限 |

### 虛構查詢歸屬帳冊

另一次分開的虛構查詢執行，評估影片在各詞中的出現情況，而且全域去重不會把重疊濾走。

| 影片 ID | 詞 A 歸屬 | 詞 B 歸屬 | 詞 C 歸屬 | 保留的首個查詢 |
| --- | --- | --- | --- | --- |
| V1 | 出現 | 未出現 | 未出現 | 詞 A |
| V2 | 出現 | 出現 | 未出現 | 詞 A |
| V3 | 未出現 | 出現 | 未出現 | 詞 B |
| V4 | 未出現 | 未出現 | 出現 | 詞 C |
| V5 | 未出現 | 未出現 | 出現 | 詞 C |

這張歸屬表在 5 個不同的影片 ID 中共有 6 項歸屬。單一份全域去重匯出只在詞 A 下保留 V2。為 V2 保留詞 A 的來源紀錄，並不能證明 V2 未出現於詞 B。只有為每個查詢分別儲存有界限的執行帳冊，才能追蹤完整的查詢歸屬。

## 下一步

使用公開的 [Actor](https://apify.com/chronometrica/tiktok-search-scraper) 和 [Task](https://apify.com/chronometrica/tiktok-search-scraper/examples/tiktok-keyword-monitoring-snapshot) 輸入來設定你的收集上限，然後在比較主題之前儲存你的查詢計劃和嘗試帳冊。

## 來源與延伸閱讀

- [Reddit 內容創作者討論：](https://www.reddit.com/r/ContentCreators/comments/1qdhj7j/how_do_you_guys_find_new_tiktok_trends_early/)
- [TikTok 關鍵字監測快照 Task：](https://apify.com/chronometrica/tiktok-search-scraper/examples/tiktok-keyword-monitoring-snapshot)
- [TikTok Search Scraper Actor：](https://apify.com/chronometrica/tiktok-search-scraper)