

# Build a TikTok UGC Example Library Without Inventing Ad Results

Build a TikTok creative example library by watching public videos, checking official ad status, and writing original briefs. An Actor is a hosted data collection program. A Task is a saved input preset. UGC means user-generated content. A video using that style may be a brand production, an ordinary public post, or an ad. Do not infer creator independence or paid placement from the style alone.

## Current Search Task Setup

The saved Task input uses queries `["ugc ad examples", "product demo ugc", "customer testimonial ad", "unboxing ad"]`, expandQueries `true`, maxExpandedQueries `8`, maxResults `160`, resultsPerQuery `40`, maxPagesPerQuery `2`, and searchDistribution `"balanced"`. `queries` is an array of strings.

To run a bounded pilot, replace the whole `queries` array with one declared string. Apply pilot overrides: expandQueries `false`, maxExpandedQueries `0`, maxResults `2`, resultsPerQuery `2`, maxPagesPerQuery `1`, and searchDistribution `"balanced"`.

`maxResults` is a shared limit for unique saved videos. `resultsPerQuery` caps unique saved videos per term, not candidate requests. A balanced distribution may reduce effective limits without guarantees.

TikTok Search build 1.1.5 outputs native fields: `postId`, `postUrl`, `authorId`, `profileHandle`, `publishedAt`, `query`, `rootQuery`, `querySource`, `pageIndex`, `pageRank`, `status`, `statusReason`, and `observedAt`. Optional values can be null or unknown.

Run metadata reports `queriesSearched`, `queryPlans`, `maxResults`, `resultsPerQuery`, `effectiveResultsPerQuery`, `maxPagesPerQuery`, `searchDistribution`, `rowsSaved`, `fieldCoverage`, `candidateItemsSeen`, `rowsAddedBeforeGlobalDedupe`, `duplicatesSkipped`, `invalidCandidatesSkipped`, `stopReason`, `sourceStatusCounts`, `status`, and `statusReason`.

`queryPlans` gives planned query, root, and source only. Attempt or failure states are reader records, not fabricated per-query outcomes.

A single-query control run returned `rowsSaved` 2, `stopReason` `max_results_reached`, `sourceStatusCounts` `{ok:1}`, `status` `ok`, and `statusReason` `null`, with publication dates in May and August. This proves metadata output for that input, not live multiquery campaigns, trends, or ad performance. Global deduplication retains one query membership. There is no native date filter.

## 1. Check Official Ad Examples First

If you want official ad examples, start with the official [TikTok Top Ads Collection](https://ads.tiktok.com/resources/help/article/top-ads?lang=en) and review [How to Use the Top Ads Dashboard](https://ads.tiktok.com/resources/help/article/how-to-use-the-top-ads-dashboard?lang=en). TikTok states that Top Ads is a collection of advertiser-authorized ad creatives. Logged-out users see only five ads. This Actor does not scrape Creative Center or collect its ad performance metrics.

## 2. Run a Public Search Task

Replace sample terms with one declared product category. Keep original public post IDs, URLs, and observation times. A term like ugc ad examples can return tutorials instead of actual creative. Check each video by hand before adding it to your library.

## 3. Make a Reference Record

Write down the source URL, post ID, creator profile, observation date, category, and ad evidence state. Use checked official ad, public video ad status unknown, or not an ad reference under clear rules. A caption claiming an ad is weaker than an official surface check.

## 4. Watch the Entire Relevant Public Example

Write down the [opening device](/en/articles/tiktok-hook-coding/), product or problem shown, demonstration action, claim wording, evidence shown, call to action, visual treatment, and segment times. These are manual creative notes, not automatic labels. Use a short opening description to support your production reference.

## 5. Note Source Context and Limits

Ask if the claim needs a product test or if the customer relationship is real. Treat unverified testimonials as claims, not facts. Do not copy original speech into your article or download and reuse a creator video.

## 6. Turn the Reference into an Original Production Requirement

Keep the general technique, like showing a measurement before a conclusion, but write new scenes and words for your own product. Do not guess high return on ad spend from likes, views, or top ad lists. ROAS means revenue divided by ad spend. Public search does not give you revenue or spend values.

## 7. Deliver a Library Row and Scene Brief

Keep the source link for review and note the ad state limits. This is a creative planning tool, not a competitor spend report, downloader, rights clearance, or measured best ad ranking.

## Worked Example

All examples in this section are original fiction.

| Source | Ad State | Evidence | Allowed Use | Unsupported Claim |
| --- | --- | --- | --- | --- |
| R1 (Refillable garden bottle, post ID V1) | public_video_ad_status_unknown | 0-3s dry pot, 3-8s water pour, 8-12s tray comparison, 12-15s claim | Production reference for pour structure | "Saves half the water" without test method |
| R2 (Official ad surface) | checked_official_ad | Simple measured demonstration | Official ad reference | None provided to library |
| R3 (Creator script tutorial) | not_an_ad_reference | Script writing instructions | Excluded from this production-library set | None |

### Full Reasoning

Candidate R1 is found via public search with post ID V1, but it lacks official ad evidence, so you mark it as public_video_ad_status_unknown. Watching it reveals an unsupported claim about saving half the water without a test method. Candidate R2 is found in an official ad surface and marked as checked_official_ad, but it provides no spend or revenue data. Candidate R3 is a creator teaching script writing, so you mark it as not_an_ad_reference for this library rule. These three candidates give you two useful production references and one official ad reference, serving different research questions.

### Original Scene Brief

| Segment Time | Scene Action | Visual Treatment | Test Condition |
| --- | --- | --- | --- |
| 0–3 seconds | Show dry pot | Wide establishing shot | None |
| 3–8 seconds | Visible measured 250 ml pour | Continuous shot showing markings | Requires product test before claim |
| 8–12 seconds | Close-up of cap seal | Macro lens focus | None |
| 12–15 seconds | Neutral closing instruction | Clean text overlay | Excludes unsupported half-water claim |

## Next action

The reader manually checks official ad state before writing an original brief, since the Actor only searches public candidates. Review public search metadata using the hosted collection tool at the [TikTok Search Scraper Actor](https://apify.com/chronometrica/tiktok-search-scraper) and the preset inputs in the [TikTok UGC Ad Example Research Task](https://apify.com/chronometrica/tiktok-search-scraper/examples/tiktok-ugc-ad-examples).

## Sources

- [TikTok Top Ads Help](https://ads.tiktok.com/resources/help/article/top-ads?lang=en)
- [TikTok Top Ads Dashboard Help](https://ads.tiktok.com/resources/help/article/how-to-use-the-top-ads-dashboard?lang=en)
- [Competitor Ads Discussion on Reddit](https://www.reddit.com/r/Entrepreneur/comments/yo0r7z/is_there_a_way_to_see_your_competitors_ads_on/)