A creator can send a brand a perfectly valid Spark Ads code and still leave the campaign in a bad state. The code might point to the wrong post. Its platform authorization might last 60 days while the paid-use agreement lasts only 30. The buyer might import the post into the wrong ad account, or say “it’s live” when the ad has not even been submitted.
The clean handoff is simple in principle: the creator authorizes one exact post and sends the code with its context; the advertiser imports it in the intended account, matches the exact post, compares all relevant dates, and returns a written receipt.
The code is only TikTok’s permission mechanism for using that post in Spark Ads. It is not a substitute for the creator agreement, commercial-content disclosure, music clearance, campaign approval, or advertiser-account access.
This walkthrough follows TikTok and FTC documentation checked on September 8, 2026. Account menus can vary; the completed handoff below uses fictional identifiers and dates.
First, choose the authorization route you are actually using
TikTok documents several ways to source a Spark Ads creative. They are alternatives, not one long setup sequence.
| Route | What moves from creator to advertiser | Use it when |
|---|---|---|
| Individual post code / Pull | A code authorizing one existing creator post | The brand wants to promote a specific post that already exists. This is the workflow covered below. |
| Authorized or linked account | Account-level access through TikTok Business Center | The advertiser needs to select posts from an account on an ongoing basis, not receive one post code. |
| TikTok One or Content Suite | An in-platform authorization request, followed by synchronization or code sharing | The collaboration already runs through those products and both sides have the required access. |
| Push | A new post is published under an authorized identity from Ads Manager | The creative is not an existing creator post being handed over by code. |
TikTok’s June 2026 Manual and Search guide lists three creative sources: a linked account, a creator-provided post code, or a new post pushed to an account authorized through Business Center. Its Smart+ guide describes the same basic distinction.
Do not turn those sources into impossible instructions such as “link the creator’s account, request the post in Content Suite, then generate a code.” For a normal one-post handoff, choose individual post code / Pull and record that choice.
Manual/Search and Smart+ are campaign-creation variants on the advertiser side. They do not change the creator’s commercial agreement, and Smart+ does not force every advertiser through Creative Library first. TikTok documents a direct post-selection drawer for Smart+ as well as a separate Creative Library authorization path.
Creator: authorize the exact post, then copy its code
The creator’s job is not to “send a Spark code” in the abstract. It is to authorize the agreed post and make that post identifiable to the buyer.
TikTok’s October 2025 Smart+ help page documents this creator-side sequence:
- Open the TikTok post that the brand is supposed to promote.
- Tap the three-dot menu, then Ad Settings.
- Review the applicable advertising terms and turn on Ad authorization.
- Generate the video code.
- Select the available authorization duration. TikTok’s documented options are 7, 30, 60, or 365 days.
- Tap Copy Code and send it to the advertiser.
TikTok’s shorter Manual/Search instructions describe the creator opening the video, tapping the three dots, selecting the Ad settings icon, and tapping Generate to retrieve the post code. Menu placement and feature availability can vary by account or rollout, so treat those as documented labels—not proof that every creator will see an identical screen.
Before generating anything, lock the post itself:
- Save the post URL or another unambiguous post reference.
- Confirm the creator handle and display identity.
- Confirm the final video and caption. TikTok says a Pull post’s caption cannot be edited after authorization as an ad.
- Confirm the creator is comfortable with the post’s visibility during promotion. TikTok’s creation guide says a private video can become public when used in a campaign, while its error guide also lists a non-public post as a setup failure. A public, final post avoids relying on an account-specific outcome.
- Check whether the post has a special format. TikTok’s code-error guide explicitly lists Stories and Duet carousels as unsupported. Some eligible Duet or Stitch posts involving two creators can require authorization codes from both creators.
Pick a duration, but do not call it the usage term
The 7/30/60/365-day choices are documented for the individual post flow. They do not establish one universal default for every Spark authorization product.
TikTok separately says a Brand partnership authorization is 60 days by default in its Commercial Content Disclosure guide, while Content Suite defaults its authorization requests to 365 days. Those are different routes with different controls.
The practical rule is: select a platform window that can cover the planned campaign, then record the agreement’s paid-use term separately. A longer TikTok window gives the advertiser more technical time to use the post. It does not silently buy more commercial rights.
A code also does not finish the post’s disclosure or audio review. TikTok requires its Commercial Content Disclosure setting for content that promotes a brand, product, or service. For US endorsements, the FTC’s Disclosures 101 says a material-connection disclosure should be hard to miss and, in video, appear in the video rather than only the description; it also warns against assuming a platform disclosure tool is sufficient by itself. TikTok’s Commercial Music Library guidance says businesses should use the CML for commercial activity on TikTok and obtain the proper license before using another user’s original sound or other licensed audio.
TikTok’s public documentation does not establish a universal rule that the countdown always begins at the instant the creator taps Generate. Record the date or window the platform actually shows; do not reverse-engineer an expiry time from an assumed trigger.
Keep three clocks separate
A Spark handoff normally contains three different time limits:
| Clock | What it controls | Who owns the check |
|---|---|---|
| Platform authorization window | Whether TikTok currently permits the post to be used through that authorization | Creator supplies it; media buyer verifies it |
| Agreed paid-use term | When, where, and how the brand may use the creator’s content under the agreement | Creator/partnership owner and brand rights owner |
| Campaign flight | When the advertiser plans to deliver the ad | Media buyer |
Consider this completed fictional example. All dates use UTC and the end time is excluded:
| Interval | Start | End | Length |
|---|---|---|---|
| Platform authorization | September 9, 2026, 12:00 | November 8, 2026, 12:00 | 60 days |
| Paid-use agreement | September 15, 2026, 00:00 | October 15, 2026, 00:00 | 30 days |
| Planned ad flight | September 16, 2026, 00:00 | October 14, 2026, 00:00 | 28 days |
The 28-day flight fits inside both the 30-day agreement and the 60-day platform window. There is also a one-day operational buffer before the agreement ends.
Now suppose the buyer wants to extend the flight to October 18. TikTok authorization would still be open, but the agreement would have ended on October 15. The requested extension exceeds the paid-use term by three days, so the correct decision is reject the extension until the commercial agreement is amended. Generating another code would not solve that rights gap.
The inverse problem is also possible. TikTok’s error 900010 calculate_intersection_time_error means the authorization ends before the ad’s scheduled end. In that case the media buyer can shorten the flight, or the creator can extend the authorization if the agreement also permits the longer use. The platform checks its own authorization window; it does not enforce every term in the creator contract.
What the creator should send the brand
A bare code creates unnecessary follow-up because it does not tell the buyer which post, agreement, account, or dates the code is supposed to serve. Send one compact bundle.
| Required field | Why the buyer needs it |
|---|---|
| Creator identity | Confirms which identity should appear in the Spark Ad |
| Exact post URL or reference | Prevents a valid code for the wrong post from being accepted operationally |
| Authorization route | Distinguishes individual code from account, TikTok One, Content Suite, or Shop authorization |
| Code or authorization reference | Gives the advertiser the platform permission input |
| Selected platform duration or displayed window | Lets the buyer compare authorization with the planned flight |
| Agreement reference and paid-use term | Keeps commercial scope separate from platform access |
| Allowed market, channel, edits, and account | Defines the authorized use instead of assuming it |
| Accountable contact | Tells the buyer who can fix a post, rights, or scheduling mismatch |
Here is a completed fictional delivery message. The code is deliberately invalid and the URL uses example.com, so neither can be mistaken for a real authorization.
Fictional example — not a real TikTok authorization
Hi Media Buyer,
This handoff is for HB46-DEMO-POST-001 from @hb46_demo_creator:
https://example.com/hb46/demo-post-001. The link is a demo reference, not a live TikTok post.Authorization route: individual post code / Pull. Permission reference: HB46-DEMO-PERMISSION-001. Deliberately invalid example code:
HB46-DEMO-ONLY-NOT-A-VALID-TIKTOK-CODE. Do not enter it in TikTok.Selected platform duration: 60 days. For this fictional record, the platform window is September 9, 2026, 12:00 UTC to November 8, 2026, 12:00 UTC. This is separate from the paid-use term.
Agreement reference HB46-DEMO-AGR-01 v1 §2 permits US TikTok Spark use of this unchanged post in DEMO-AD-ACCOUNT-001 from September 15 to October 15, 2026, using the UTC boundaries above. It does not grant off-platform reuse, edits, reuploads, or sublicensing.
Requested Manual / Traffic flight: September 16 to October 14, 2026. Destination:
https://example.com/hb46/demo-brand/bottle. CTA: Learn More.Please return the matched post and creator, ad-account reference, authorization window, flight, and submission status. Send post or permission mismatches to the Creator Partnerships Lead; send scope changes to the Brand Rights Owner. The Media Buyer owns advertiser-side verification and launch.
That message is an operational template, not a TikTok-required form. Adapt its fields to the real agreement and only include precision the platform or contract actually provides.
Advertiser: import, match, and acknowledge before launch
The advertiser owns a different set of actions. A creator should not be asked for passwords, session cookies, or a new code merely because the buyer lacks access to the intended ad account.
Manual and Search campaigns
TikTok’s June 2026 guide places Spark creative selection after Campaign and Ad Group settings:
- Go to Ad creatives—or Creative assets for some advertisers.
- Click + Add videos or images to open the creative drawer.
- Open TikTok posts.
- Click Add post to authorize a new post by video code, then select the designated post and confirm it.
- Review the authorization period shown beneath the post.
- Complete the destination and remaining ad details.
Smart+ campaigns
TikTok’s Smart+ guide also documents a direct drawer: Add videos or images → TikTok Post → Add Post → Confirm, followed by the remaining settings and Submit. The same page describes a second route through Tools → Creative library → Spark ads posts → Apply for Authorization, where the buyer pastes the code and searches for the post.
Those are alternative entry points. Do not require both unless the account workflow actually calls for both.
For collaborations managed in TikTok One, TikTok documents Request authorization and Extend authorization, then synchronization to selected ad accounts. Its January 2026 guide says a synchronized post may be selected directly when the advertiser has the corresponding access; a manually copied code is not always necessary. Content Suite similarly separates authorization, synchronization, and launch.
Match the record before saying the handoff is complete
After import, compare the result against the creator’s message:
- Exact post URL or post reference
- Creator handle and displayed identity
- Final video and caption
- Authorization window
- Intended advertiser account
- Destination and CTA
- Paid-use term and market
- Planned flight
A code can be syntactically valid yet authorize a different post from the same creator. In this fictional mismatch, the buyer expected HB46-DEMO-POST-001 but found HB46-DEMO-POST-002, a different video. The creator identity matches and the dates would cover the flight, but the content does not. The decision is HOLD — POST MISMATCH, not “close enough.” The Creator Partnerships Lead must resend the permission details for the agreed post; the Media Buyer then repeats the match.
Return a receipt that distinguishes your internal checks from TikTok’s ad status:
Fictional advertiser receipt — no account action was performed
Received September 10, 2026, 15:10 UTC. Owner: Media Buyer. Account: DEMO-AD-ACCOUNT-001.
Expected post HB46-DEMO-POST-001, identity @hb46_demo_creator, and final caption match this simulated handoff. The fictional 60-day platform window covers the 28-day flight. Agreement HB46-DEMO-AGR-01 v1 §2 limits use to US TikTok Spark Ads through October 15, 2026.
Handoff matching complete. Not submitted. Not reviewed. Not live. The Media Buyer owns the remaining campaign checks and any later submission.
That final line matters. TikTok’s ad-status definitions say Pending is not delivering, while a campaign or ad group can appear Active because at least one contained ad is running. Confirm the status of the relevant ad or asset rather than treating code acceptance—or a top-level Active label—as proof that this post is live.
Route each failure to the person who can fix it
TikTok’s error guide separates malformed codes, expired authorization, unsupported posts, account permissions, and timing conflicts. Your response should do the same.
| Symptom | What it means | Next owner and action |
|---|---|---|
4013 auth_code_format_error |
The post code is incorrect | Creator/partnership owner: resend the copied code; buyer: do not guess or edit characters |
auth_code_not_found |
The code was deleted | Creator: generate or supply a new authorization for the correct post |
4025 auth_code_expired |
The authorization expired | Creator: extend authorization through the relevant route; buyer: recheck the returned post and window |
900010 calculate_intersection_time_error |
Authorization ends before the ad end time | Media buyer: shorten the flight, or request an extension that also fits the agreement |
user_permission_missing |
The advertiser lacks permission to create ads | Advertiser account admin/account manager: fix access; do not send the creator into a code loop |
not_public_video |
The post is not public in the failing context | Creator: review visibility and confirm the intended promotion state |
Post authorization revoked |
The creator revoked permission to use the video; the ad is documented as Not Delivering | Media buyer: identify the affected ad and stop or replace it; creator/partnership owner: clarify whether renewal was intended |
A missing product-anchor authorization is a different condition from revoked post authorization. TikTok lists the former under Limited Delivery and the latter under Not Delivering. Fix the permission object named in the status instead of treating every problem as “the Spark code broke.”
Renew or close the handoff without making blanket promises
Renewal begins with the same identity check as the original handoff: which post, which authorization route, which account, and which dates?
TikTok explicitly documents Extend authorization in TikTok One, and its expired-code error directs the advertiser to contact the creator to extend authorization. What the public documentation does not establish is a universal rule that every renewal keeps the same code, or that every workflow always produces a new one. After renewal, the advertiser should verify whatever the platform returns: the exact post, current authorization reference, displayed window, and affected ad account.
Closure also has several separate actions:
- Pause stops delivery but leaves the ad record in place and can be reversed.
- Delete permanently removes the ad record.
- Remove or revoke the post authorization changes the creator’s permission for that post.
- Unlink an account in Business Center removes account-level identity/content permission for the selected ad account.
TikTok’s Manual/Search guide says an individual video code can be deleted only after all ads using that video are deleted in Ads Manager. Its status documentation lists a revoked post authorization as a reason an ad is Not Delivering, but it does not publish one universal propagation time for every account and downstream use.
Account-level unlinking is another route, not a mandatory final step for every post-code handoff. TikTok’s Business Center unlink guide says unlinking immediately revokes that ad account’s permission to use the account’s identity and content for campaigns, yet also warns that existing ads may be affected and recommends pausing relevant campaigns first.
TikTok Shop provides a useful boundary case: its March 2026 comparison says account-level affiliate mass authorization and individual video-code authorization do not switch each other off. That does not turn this into a Shop tutorial. It shows why a closure receipt must name the authorization route instead of claiming “all permission is gone.”
A defensible closure receipt therefore says what was actually checked: the known ads, the account, their current statuses, the creator authorization action, and any separate account-level route. It should not promise that one toggle instantly erased every possible use everywhere.
The handoff is complete when both sides can answer the same questions
Before launch, creator and advertiser should be able to give the same answer to six questions:
- Which exact post and creator identity are authorized?
- Which authorization route supplied the permission?
- What platform window is currently displayed?
- What does the commercial agreement actually permit?
- Does the planned flight fit inside both limits in the intended ad account?
- Who owns the next action if the post, dates, access, or status do not match?
A Spark Ads code is necessary in the individual post-code workflow, but the handoff is the real control. The creator sends permission with context. The advertiser returns a precise match and an honest launch status. That is what keeps “code received” from becoming “wrong post, wrong dates, wrong account.”
Download the handoff worksheet and completed fictional examples to reuse the creator message, advertiser receipt, and renewal record.
Sources
- How to create Spark Ads for Manual and Search Campaigns in TikTok Ads Manager — TikTok for Business, last updated June 2026.
- How to create Spark Ads for Smart+ Campaigns in TikTok Ads Manager — TikTok for Business, last updated October 2025.
- About Spark Ads Code Error Notifications in TikTok Ads Manager — TikTok for Business, last updated July 2025.
- List of ad statuses and definitions in TikTok Ads Manager — TikTok for Business, last updated June 2025.
- How to use Spark Ad recommendations in TikTok One — TikTok for Business, last updated January 2026.
- How to use Content Suite to create and launch Spark Ads — TikTok for Business, last updated December 2025.
- How to turn on the Commercial Content Disclosure setting in TikTok — TikTok for Business, last updated January 2026.
- About the Commercial Music Library — TikTok for Business, last updated July 2025.
- Disclosures 101 for Social Media Influencers — Federal Trade Commission, November 2019.
- How to unlink a TikTok account from ad accounts in TikTok Business Center — TikTok for Business, last updated March 2026.
- Differences between affiliate mass authorization and video code authorization — TikTok for Business, last updated March 2026.




