A delivered video card connects to a dated counter and a review receipt.
Record the observed count and its limits.

Public Metric Contract and Setup

The TikTok Metrics scraper build 0.1.36 accepts modes `auto`, `knownUrls`, and `profileUrls`. It accepts parameters `startUrls`, optional `maxItems`, `includeProfileMetrics`, `requestTimeoutSecs`, `maxConcurrency`, and `failOnNoMetrics`. For this pilot method, choose `knownUrls` with one intended public video URL and set `maxItems` to 1. Do not use the profile-discovery preset as a full history promise. Setting `includeProfileMetrics` to true adds best-effort current public profile facts, not follower identities or private analytics.

One dataset row represents one attempted or resolved video result. Always inspect row status and `statusReason` before counting metrics as useful. Native dataset fields used here are: `inputUrl`, `postUrl`, `postId`, `profileId`, `profileHandle`, `profileUrl`, `publishedAt`, `videoDurationSeconds`, `views`, `likes`, `comments`, `shares`, `saves`, `reposts`, `profileFollowersCount`, `postMetricStatus`, `profileMetricStatus`, and `scrapedAt`. Missing metrics return as `null`, not zero. Metric precision flags include `exact`, `display_rounded`, `likely_rounded`, and `unavailable`. An exact public integer is still the platform's public count, not a validated distinct-person measure. The Actor does not emit derived rates.

Check the final run summary counts for providedUrls, contentUrls, inputUrls, resolvedUrls, metricRows, noPublicMetricRows, blockedRows, failedRows, and statusCounts to confirm processing outcomes before evaluating dataset rows. A successful run summary with metricRows showing resolved data confirms counter extraction, while targets appearing in noPublicMetricRows, blockedRows, or failedRows indicate source failures or unavailable metrics that must be kept as missing or unknown values, never counted as zero views.

A single-video control test verified matched post and profile IDs, public counters, profile follower count, and precision flags. Several counts were `likely_rounded`, while saves and reposts were `exact`. This confirms public counter and identity support. It does not prove retention, completion, private reach, click-throughs, sales, ad fraud, or unique viewers.

Replace all sample target URLs in the Task preset with your single known public video link.

Step-by-Step Delivery Receipt Method

  1. Record all agreed delivery rules before checking the post. Write down the expected creator handle, required video content, post identity, cutoff time, and timezone. List the exact metric promised in your UGC contract. Do not estimate pay rates or predict future earnings.
  2. Run the data collector for your video URL. Set the mode to `knownUrls` and set `maxItems` to 1. Set `includeProfileMetrics` to true if you need profile identity facts. Replace sample URLs with your target URL. Check that `postId` and `profileHandle` match your records.
  3. Watch the published video manually. Confirm that the video shows the correct product, creator, scene, and message. Record a brief pass or fail note with your manual review timestamp. Public view counters cannot verify video scenes, licensing rights, or proper ad disclosures.
  4. Save the raw view metrics and status flags. Check the `views` count alongside `postMetricStatus`, `profileMetricStatus`, and `scrapedAt`. The current platform contract reports precision as `exact`, `display_rounded`, `likely_rounded`, or `unavailable`. Do not change rounded numbers into exact counts. Do not add likes, shares, or saves into the view count.
  5. Compare the actual observation time to your agreed cutoff time. A view snapshot taken after the cutoff time does not show what the count was at the cutoff. Keep late readings separate. Do not calculate missing views using invented daily rates.
  6. Assign a clear review status to the evidence row. Use `checked_public_count_for_review` only when the identity, manual check, cutoff time, and metric precision meet all contract terms. Use `delivery_gap`, `timing_gap`, `precision_gap`, `source_unavailable`, or `private_metric_required` when checks fail.
  7. Assemble the final view receipt. Combine the contract reference, target URL, manual check result, observation timestamp, public view count, precision flag, and review status. Keep earlier and later view snapshots separate.
  8. Submit the evidence receipt to your brand partner or review process. This receipt records public platform metrics. It does not issue invoices, process payments, or guarantee campaign results.

Fictional Receipt Examples

The following examples use original fictional data to show how different post results map to review states. The target rule requires exact public views for an agreed post on October 10 at 12:00 UTC with a passed manual scene check.

  • Candidate V1 (Fictional): The creator handle and product match. The manual scene check passes. The snapshot captured at 12:00 UTC shows 40,000 views with exact precision. Status: `checked_public_count_for_review`.
  • Candidate V2 (Fictional): The content and cutoff time match. The counter shows 1.2M views with `likely_rounded` precision. The exact view count remains unknown. Any 1,200,000 numeric figure is a display-derived estimate, not a certified exact count. Status: `precision_gap`.
  • Candidate V3 (Fictional): The scene check passes and precision is exact at 50,000 views. The snapshot was taken at 12:07 UTC, which is 7 minutes late. Status: `timing_gap`.
  • Candidate V4 (Fictional): The snapshot was taken at 12:00 UTC with an exact count of 20,000 views. The manual check reveals the video displays the wrong product. Status: `delivery_gap`.
  • Candidate V5 (Fictional): The scraper returns no public metrics due to source errors. The view count is missing (null) rather than zero. Status: `source_unavailable`.
  • Candidate V6 (Fictional): The contract requires verified US views. Public counters do not break down viewer location. Status: `private_metric_required`.
Fictional Receipt Examples
Post IDObservation TimeViewsPrecision FlagManual CheckReview Status
V1 (Fictional)2026-10-10 12:00 UTC40,000exactPasschecked_public_count_for_review
V2 (Fictional)2026-10-10 12:00 UTC1.2Mlikely_roundedPassprecision_gap
V3 (Fictional)2026-10-10 12:07 UTC50,000exactPasstiming_gap
V4 (Fictional)2026-10-10 12:00 UTC20,000exactFail (Wrong Product)delivery_gap
V5 (Fictional)2026-10-10 12:00 UTCnullunavailablePasssource_unavailable
V6 (Fictional)2026-10-10 12:00 UTC100,000exactPassprivate_metric_required

One row out of six produced a valid public view record for review. The remaining five rows flagged specific gaps that need manual resolution.

Sources & further reading

By Chronometrica · Updated

Back to top ↑