Navos
TikTok Shop

TikTok Shop Sample Tracking Template

Copy a TikTok Shop sample tracking spreadsheet for sellers, with IDs, status rules, posting-rate formulas, costs, refunds, and exception handling.

Oct 21, 2026
3 min read
TikTok Shop Sample Tracking Template
notion image
A TikTok Shop sample tracking spreadsheet should tell a seller which product went to which creator, whether it arrived, what content is due, and who needs to act next. It also needs to distinguish an unknown result from a confirmed zero.
Start with the fields below, then use a separate content-obligation ID to calculate posting rates. A two-SKU package may require one post, while a duplicate import should add neither cost nor another expected post.
We used this structure in a controlled Navos test with ten fictional records. The reviewed output retained all ten rows, separated eight follow-up tasks, and calculated a 75% posting rate for four eligible obligations. Those numbers describe the supplied example, not seller performance or an industry benchmark.

Copy This TikTok Shop Sample Tracker

Start with this header in Excel, Google Sheets or your team database:
row_id,sample_id,content_obligation_id,creator_id,creator_handle,SKU,sample_type,approval_date,ship_date,tracking_number,delivered_date,confirmed_deadline,extension_or_appeal_state,post_url,post_date,content_evidence_status,attribution_state,gross_attributed_orders,confirmed_refunded_orders,product_cost_usd,packing_cost_usd,shipping_cost_usd,owner,notes
These are the 24 input fields used in the test. Import the header as CSV so each field becomes a column. Keep IDs as text, use ISO dates (YYYY-MM-DD), and retain UNKNOWN for missing values. The _usd fields are in US dollars; do not mix currencies in a cost total.
Keep the imported sheet unchanged. Add review results on a working copy: duplicate_flag, duplicate_of, lifecycle_status, metric_eligibility, exclusion_reason and next_action. Store as_of_date separately for each review. In the test export, the status column is named lifecycle_status_as_of_2026_10_19; rename it or create a new dated snapshot when reviewing a different day.
For live operations, also add source references, measurement start/end dates, product-link checks and content-use permissions. These are recommended extensions to the template; they were not independently verified by the supplied-data test.
Use these field groups:
Group
Minimum fields
Decision it supports
Identity
row_id, sample_id, content_obligation_id, creator_id, SKU
Is this a new record, another item in the same package, or a duplicate?
Shipment
ship date, tracking number, delivered date, source reference
Has the creator actually received the product?
Obligation
sample type, confirmed deadline, extension/appeal state
Is the obligation open, overdue, or under review?
Content evidence
post URL, post date, evidence status, product-link status
Did qualifying content appear, and when was it checked?
Cost
product, packing, shipping and replacement cost
What did the evaluated sample cohort cost?
Attribution
state, gross orders, confirmed refunds, measurement window
Is a commercial result known, zero, or unavailable?
Action
owner, next action, last update
Who is doing what next?
Do not replace unknown values with zero. Delivered date = unknown does not mean the package was lost. Attributed orders = unavailable does not mean the creator generated no orders.

Use Native TikTok Shop Records as the Source, Not the Whole Workflow

TikTok Shop already provides native sample operations. In the US guidance reviewed on October 21, 2026, US seller guidance describes workflows for setting up samples, reviewing or automating approvals, arranging shipment, monitoring creator content and reviewing performance in Seller Center and Affiliate Center. Product-level Sample Settings can also control eligible SKUs and automated or manual quotas.
Some capabilities depend on the market, account and rollout. For example, TikTok Shop describes bulk post reminders as a beta feature that is not available to every seller. Its newer Automate Invitations feature is also being released gradually. Do not build your process on a button until it appears in the account your team actually uses.
The spreadsheet therefore should not imitate every platform field. Treat the platform record as the source for request, shipment, content and available performance data. Use the team tracker for the pieces that must travel across functions:
  • the internal owner and next action;
    • product, packing, shipping and replacement cost;
      • content-use permission and expiry;
        • exception notes and confirmation source;
          • the cohort and measurement window used in a report;
            • a decision to follow up, resample, pause or close.
              If you need the wider collaboration setup before this operational layer, start with the TikTok Shop affiliate program for sellers. Keep this sheet focused on one job: following a sample from record to decision.

              Build the Tracker Around Three IDs

              Use stable IDs to connect each imported line to its sample request and content obligation.

              row_id: one imported SKU line

              Create a unique line ID for every imported SKU or variant line. You can call this field sample_line_id in your own system, but keep a mapping to the original row_id. A new import ID does not prove a new sample: R06 and R07 in the example have different row IDs but matching sample, creator, SKU and tracking fields. If a creator receives a bottle and a replacement lid in the same parcel, two lines preserve the individual inventory and cost. This is especially important when one line has a replacement cost or a different content permission.

              sample_id: one request or order

              The two SKU lines can share one sample_id because they belong to the same source request or order. In this example they also share one package. If an order has split shipments, retain separate shipment IDs and tracking records; a sample ID alone does not establish package count.

              content_obligation_id: one expected content outcome

              This is the metric key. If one post fulfills the agreement for both SKUs, both lines share one content_obligation_id. Count that obligation once in the posting-rate denominator. If the agreement genuinely requires a separate post for each item, create separate obligation IDs and retain the evidence that supports that choice.
              Without this third ID, a two-SKU package can quietly become two expected posts in the report even when the creator only agreed to one.
              notion image
              Illustrative allocation from the test: keep both SKU costs without doubling the posting obligation.
              Illustrative allocation from the test: keep both SKU costs without doubling the posting obligation.
              Illustrative allocation from the test: keep both SKU costs without doubling the posting obligation.

              Give Every Sample One Evidence-Based Status

              A single “pending” label hides too many different problems. Use a small status dictionary tied to evidence:
              Team status
              Evidence required
              Next decision
              Approved, not shipped
              Approved request; no shipment confirmation
              Assign shipment owner and due date
              In transit
              Tracking event; no confirmed delivery
              Monitor carrier record
              Delivery unknown
              Shipment exists, but no reliable arrival date
              Verify tracking or creator receipt before starting a deadline
              Within posting window
              Confirmed delivery and a future confirmed deadline
              Wait or send an eligible reminder
              Exception review
              Extension, appeal, damage or product issue is unresolved
              Confirm current obligation before escalation
              Posted, unverified
              A link was supplied but not checked
              Verify content, date and product link
              Posted, verified
              Evidence checked as of a stated date
              Close content obligation; review permissions and outcome
              Overdue, no verified post
              Confirmed deadline passed; no unresolved exception
              Follow up or close under team policy
              Closed
              Final evidence and decision recorded
              Preserve the audit trail
              For US free samples, the current TikTok Shop guide says the creator generally has 14 days after receiving the product to publish qualifying content. The Sample Integrity Policy also describes a one-time seven-day extension and an appeal path for a defective or unsatisfactory sample. Crucially, the current policy says sellers do not receive a notification when a creator requests an extension.
              That means your sheet should not calculate every deadline from delivery and label the result final. Keep confirmed_deadline and extension_or_appeal_state separate. If the state is unclear, route the record to exception review.
              Do not apply the free-sample posting rule to refundable samples or to a separate negotiated creator agreement. Record the sample type and the platform or contract terms that govern that row.
              Editorial workflow diagram. Confirm exceptions before applying a deadline.
              Editorial workflow diagram. Confirm exceptions before applying a deadline.
              Editorial workflow diagram. Confirm exceptions before applying a deadline.
              Editorial workflow diagram. Confirm exceptions before applying a deadline.

              Calculate Rates Only After the Cohort Is Ready

              A rate needs a numerator, a denominator, a review date and an exclusion list. Without all four, it is only a number.

              Define evaluated free-sample obligations

              For a simple internal follow-through report, start with unique, nonduplicate free-sample obligations that have a known delivery date and either:
              • a verified post by the fixed review date; or
                • a confirmed deadline before the review date and no verified post.
                  Exclude obligations still inside the posting window without a verified post, plus those with unknown delivery, an unresolved extension or appeal, or a different sample type. A verified early post can enter this internal evaluated cohort. Record the fixed date as as_of_date so the same batch can be reproduced later.
                  This is an internal reporting definition, not TikTok Shop's own fulfillment-rate formula. Because it admits early completions while leaving unfinished open-window obligations out, it is a snapshot rather than an unbiased comparison between creators. For comparisons over time, use consistent intake periods, sample types, maturity rules and attribution windows; do not rank creators on this four-obligation example.
                  Internal snapshot rule used in this example; it is not the platform fulfillment formula.
                  Internal snapshot rule used in this example; it is not the platform fulfillment formula.
                  Internal snapshot rule used in this example; it is not the platform fulfillment formula.
                  Internal snapshot rule used in this example; it is not the platform fulfillment formula.

                  Calculate verified posting rate

                  Use obligations, not sheet rows:
                  Verified posting rate = unique evaluated obligations with a verified post ÷ all unique evaluated obligations
                  Always print the count beside the percentage. “75%” is less useful than “3 of 4 evaluated obligations as of October 19.”

                  Calculate cost per verified post

                  For the cost definition used here, add product_cost_usd + packing_cost_usd + shipping_cost_usd for every unique line in the evaluated cohort. If you need a broader cost measure, add separately evidenced replacement, creator-fee or other costs and label the expanded definition. Do not assume missing costs are zero. Include the cost of evaluated samples that produced no post; removing those rows hides the cost of the program.
                  Cost per verified post = total sample cost for the evaluated cohort ÷ verified posted obligations
                  If the cohort has no verified posts, report the spend and N/A. A division-by-zero error is not an operating insight.

                  Keep commercial outcomes separate

                  A verified post is a content outcome, not a profit result. Keep these fields distinct:
                  • gross attributed orders;
                    • confirmed refunded orders;
                      • measurement start and end dates;
                        • attribution state: available, not yet measured, unavailable, or not applicable;
                          • the source and time of the export.
                            When definitions and windows match, you can state:
                            Known net attributed orders = gross attributed orders − confirmed refunded orders
                            This example uses the supplied refund count. If an export already excludes refunded orders, do not subtract them again. If cancellations and refunds overlap in your source, reconcile at order level before combining them.
                            Do not call that ROI. A profit calculation also needs revenue, COGS, fulfillment, commissions, platform fees, discounts and other relevant costs. If one evaluated sample lacks attribution, report attribution completeness and keep the cohort-level commercial conclusion open.

                            Route Exceptions Instead of Hiding Them in “Pending”

                            An exception queue turns incomplete data into work.

                            Delivery date unknown

                            Do not start the posting clock from the ship date. Check the platform order, carrier event or an authorized creator confirmation. Until then, use DELIVERY_UNKNOWN and assign an owner.

                            Duplicate rows

                            Compare source order, creator, SKU and tracking number. Keep the suspected duplicate visible, record duplicate_of, and exclude it from totals. Deleting it immediately removes the evidence that explains why two people saw different counts.

                            One creator, multiple SKUs

                            A repeated creator is not automatically a duplicate. The same creator may receive a different product, a later sample, or several SKU lines in one package. Check the IDs and source reference before merging anything.

                            Posted, attribution unavailable

                            If the post is verified, it can count in the content result. Its order value remains unknown. Do not write 0 merely to make a formula run.

                            Returns after attributed orders

                            Preserve the gross order count and the return count. A report that overwrites four gross orders with two net orders loses the ability to explain what changed.

                            Extension or appeal under review

                            Move the record out of the overdue denominator until its current obligation is confirmed. This is especially important because the platform’s current US policy says sellers may not receive extension notifications.

                            What Our Navos Test Produced from Ten Sample Records

                            We tested a supplied-data workflow in Navos with ten fictional rows and a fixed review date of October 19, 2026. The reviewed V2 files were returned on October 21. Every creator, product, tracking number, content URL and amount was simulated. VERIFIED_FOR_TEST was an input label, not a claim that Navos opened or verified a real TikTok post.
                            The test produced an HTML report, a normalized tracker CSV and an exception-queue CSV. The reviewed tracker preserved all 240 original field values, including the notes, and added six analysis fields. It kept ten rows visible while excluding the suspected duplicate from totals. The exception export contained eight tasks; a sample can have more than one task, so task count is not sample count.
                            The input supplied the ID definitions, calculation rules and notes identifying several edge cases. This tested whether the workflow could apply those instructions consistently; it was not a blind test of issue discovery.

                            How the example was reconciled

                            The eight sample IDs corresponded to eight content obligations in this fixture. Seven were free samples and one was refundable. Their treatment was:
                            Source rows
                            Content obligation
                            Treatment at the review date
                            Cost included in evaluated free-sample cohort
                            R01
                            OBL-1001
                            Confirmed deadline passed; no verified post. Count in denominator, not numerator.
                            $14.00
                            R02
                            OBL-1002
                            Posting window still open; no verified post. Exclude for now.
                            —
                            R03 + R04
                            OBL-1003
                            Two SKU lines, one verified content obligation. Sum both line costs; count one post.
                            $14.00
                            R05
                            OBL-1004
                            Delivery unknown. Resolve delivery before evaluating.
                            —
                            R06
                            OBL-1005
                            Verified for the test; attribution unavailable. Include in posting and cost metrics.
                            $24.00
                            R07
                            Same OBL-1005
                            Suspected duplicate of R06 with a different owner. Preserve for review; exclude from totals.
                            —
                            R08
                            OBL-1006
                            Appeal or extension unresolved. Exclude pending confirmation.
                            —
                            R09
                            OBL-1007
                            Verified for the test; four gross attributed orders and two confirmed refunds.
                            $13.00
                            R10
                            OBL-1008
                            Refundable sample. Track separately from the free-sample cohort.
                            —
                            A dash means the cost is excluded from this calculation, not that the sample cost nothing. R03 contributes $12 and R04 contributes $2; the shipping charge was already assigned to R03. R04's zero shipping cost is a valid allocation, not a missing value.

                            The checked results

                            Metric
                            Calculation
                            Result
                            Evaluated free-sample obligations
                            OBL-1001, OBL-1003, OBL-1005, OBL-1007
                            4
                            Verified posting rate
                            3 posted obligations / 4 evaluated obligations
                            75.0%
                            Evaluated sample cost
                            $14 + $14 + $24 + $13
                            $65.00
                            Sample cost per verified post
                            $65 / 3
                            $21.67
                            Attribution completeness
                            3 evaluated obligations with available order/refund data / 4
                            75.0%
                            Known net orders, available subset
                            0 + (5 − 1) + (4 − 2)
                            6
                            The refundable sample contributed one known net attributed order separately. It was not added to the free-sample total. Its cost remained unknown.
                            The $65 includes the no-post sample and only the product, packing and shipping costs defined for this test. It is not total marketing spend. The $21.67 remains calculable despite missing attribution for OBL-1005 because its cost and posting status are known. Whole-cohort net orders, cost per order and ROI remain unavailable.
                            Controlled synthetic test as of October 19, 2026. These results are not a merchant benchmark or an ROI claim.
                            Controlled synthetic test as of October 19, 2026. These results are not a merchant benchmark or an ROI claim.
                            Controlled synthetic test as of October 19, 2026. These results are not a merchant benchmark or an ROI claim.
                            Controlled synthetic test as of October 19, 2026. These results are not a merchant benchmark or an ROI claim.

                            What needed human review

                            The first output required corrections to its follow-up language and metric explanations. Missing attribution had been described as affecting cost per post; the refund note went beyond the available evidence; and a valid multi-SKU cost allocation had been put in the exception queue. The revised files corrected those points. Two final report wording edits clarified an unmeasured attribution state and directed readers to the CSV for complete original notes; they did not change the CSVs or calculations.
                            For a seller, the useful outcome is a reviewable queue. In this example, the delivery record needs confirmation, the unresolved appeal needs a decision, and the duplicate needs an owner check. The two confirmed refunds call for a reason check; they do not establish creator misconduct.
                            Editorial reconstruction of the returned exception CSV; not a Navos UI screenshot. Owners are fictional.
                            Editorial reconstruction of the returned exception CSV; not a Navos UI screenshot. Owners are fictional.
                            Editorial reconstruction of the returned exception CSV; not a Navos UI screenshot. Owners are fictional.
                            Editorial reconstruction of the returned exception CSV; not a Navos UI screenshot. Owners are fictional.

                            Use the same approach on your records

                            If your current Navos Square library includes Ecommerce Hacks → Ecommerce Growth Creator Commerce Funnel, check that card before supplying your batch. The availability of that entry and its export options may differ from this test.
                            1. Keep a source copy of the rows and choose a fixed review date. Remove personal addresses and other details the analysis does not need.
                              1. Provide the ID definitions, cost allocation and sample types with the data. State that unknowns must remain unknown and that no store actions are authorized.
                                1. Ask Navos to retain the original fields, flag duplicates, produce a separate exception queue and show each metric's included IDs and exclusions.
                                  1. Review the resulting CSVs and report against the original rows. Check both the arithmetic and the proposed next actions before using them.
                                    A compact instruction for your own batch is:
                                    Analyze only the sample rows I provide, as of [review date]. Preserve the original fields and notes. Use content_obligation_id to count posting obligations; keep separate SKU costs and exclude duplicate imports from totals. Evaluate only free samples with known delivery and either a verified post by the review date or a confirmed deadline before it. Exclude unresolved appeals/extensions and unfinished open-window obligations. Keep refundable samples separate. Return a normalized tracker, an owner-assigned exception queue and formulas with included/excluded IDs. Preserve unknown attribution, dates and costs; do not infer ROI or take platform actions. Provide CSVs and an HTML report if supported, and state any export limitation.
                                    This test demonstrates the reviewed output for a small supplied dataset. It does not verify a shop integration, live shipment or content checks, automated messaging, approvals, or improved commercial results.

                                    Run a Daily Exception Queue and a Weekly Review

                                    The tracker is useful only when it changes the next action.
                                    Each day:
                                    1. refresh shipment and platform evidence for records that changed;
                                      1. resolve delivery-unknown and damaged-item exceptions first;
                                        1. check approaching deadlines without treating an open window as a failure;
                                          1. verify new content URLs and product links;
                                            1. update one owner, one next action and one timestamp per open obligation.
                                              Once a week:
                                              1. freeze the as_of_date and source exports;
                                                1. deduplicate rows while preserving the audit trail;
                                                  1. separate open, exception and evaluated cohorts;
                                                    1. calculate only metrics with complete definitions and evidence;
                                                      1. decide which creators or products need follow-up, a new brief, a pause or a separate commercial review.
                                                        For the communication step, use a consistent influencer outreach SOP rather than letting different teammates send overlapping messages. If a future collaboration adds flat fees or usage rights, keep those terms in the influencer rate negotiation guide, not in an overloaded sample-status cell.

                                                        Frequently Asked Questions

                                                        What should a TikTok Shop sample tracker include?

                                                        Include an imported line ID (row_id), source sample/order ID, content obligation ID, creator ID, SKU, sample type, shipment and delivery evidence, confirmed deadline, exception state, post evidence, cost, attribution state, owner and next action.

                                                        When does the free-sample posting window start?

                                                        Current US TikTok Shop guidance ties the free-sample content obligation to receipt of the product. Use the confirmed delivery date and current platform record, not the approval or ship date. Check current account guidance because policies and interfaces can change.

                                                        Should I count samples still inside their posting window?

                                                        Keep unfinished open-window obligations out of the internal evaluated rate used here. A verified early post may enter it. For a fully matured cohort comparison, wait until all included obligations have reached their confirmed deadlines and resolve exceptions consistently.

                                                        How do I handle one package with several SKUs?

                                                        Use one line per SKU, retain the shared sample ID, and define the content obligation separately. Count one obligation when one post covers the package; count more only when the documented agreement requires more.

                                                        Does TikTok Shop already track creator samples?

                                                        Yes. Current US seller documentation describes native request, approval, shipping, content monitoring and performance workflows, plus several automation options. A team spreadsheet should add internal ownership, costs, permissions, exceptions and decision history rather than claiming the platform has no tracking.

                                                        Can a spreadsheet prove sample ROI?

                                                        Not by itself. It can organize the cost and attribution inputs, but ROI needs complete, consistently defined revenue, returns, COGS, fees, commissions and other costs. Missing attribution must stay visible.

                                                        Can Navos approve samples or message creators automatically?

                                                        Those actions were not tested here. The reviewed Navos files cover supplied-record analysis: a normalized CSV, an exception CSV and an HTML report. They do not establish live store access, sample approvals, creator messaging or live attribution.

                                                        Review One Batch Before Sending the Next

                                                        Copy the fields, choose a review date and reconcile one batch. Check the shared IDs before calculating a rate, preserve unknowns, and assign an owner to each unresolved action. If you use Navos to prepare the tables, review its interpretation and totals against the source before acting on the queue.

                                                        Build smarter. Market faster. Start Automating.

                                                        Your competitors are already using AI employees to scale their ads and outreach. Get the unfair advantage with the Navos Agents.

                                                        Launch background