Skip to content
UGC ContractsCreate a contractCreate
Usage rights & whitelisting

Spark Ads Authorization Codes: What Your Contract Needs

Spark Ads authorization codes: what the contract should say about duration, scope, fees and revocation, so creators and brands avoid disputes.

On this page
  1. Why the authorization code is a contract term, not an admin step
  2. What a Spark Ads authorization code actually grants
  3. The clause: duration, scope, placements and spend
  4. Pricing ad access: how each side should think about the fee
  5. Revocation, renewal and what happens when the code expires
  6. Handover safeguards: disclosure, deletion and account protection
  7. Common mistakes
  8. Next steps

Why the authorization code is a contract term, not an admin step

The brand has your video, the campaign starts Monday, and the media buyer is asking for a code in Slack. Treat that request as a licensing decision, not a task. Spark Ads authorization codes hand an advertiser the right to run ads from your handle, so the contract should name the posts, the window, the ad accounts, the placements and the fee before the code changes hands.

This matters because the code is the delivery mechanism for paid rights, the same way a Dropbox link is the delivery mechanism for raw files. Once it is redeemed in an ad account, the practical control sits with the advertiser until the authorization window closes. A contract that says "brand may use the content in paid social" and nothing else leaves both sides guessing about which posts, which markets, which ad accounts and for how long.

Both sides have something to lose. A creator can end up with ads running from their handle in a market they never agreed to, with comments they are not moderating, long after the fee was paid for a short test. A brand can build a winning ad around a creator post, then watch delivery stop because the authorization expired or the creator archived the video. Neither outcome needs a lawyer to prevent. It needs five specific lines in the agreement.

What a Spark Ads authorization code actually grants

Spark Ads run an existing organic post as an ad. The ad carries the creator's handle, profile picture and link to the creator's profile. Likes, comments, shares and views from the paid delivery land on the creator's original post. That is the appeal for brands and the exposure risk for creators.

The code itself is generated by the creator inside TikTok and redeemed by the advertiser in their ad account. When generating it, the creator chooses an authorization window and what the advertiser can do with the post. TikTok changes these options periodically, so check the current settings in the app rather than relying on what a brief says. Instagram's partnership ads work on a similar creator-generated code, so the same contract logic applies there.

There are two shapes of authorization worth distinguishing in writing:

  • Post-level authorization. The advertiser can promote one named post, for the window the creator selected. This is the default for most single-video deals.
  • Account-level authorization. The advertiser can promote posts from the creator's account more broadly, and in some setups create ads from content the creator has not specifically cleared. This is a much wider grant and should be priced and bounded separately.

Just as important is what the code does not grant. It does not give the brand the right to download the video and cut it into a different ad. It does not cover the brand's own handle, Meta, YouTube, Amazon, the website, email, retail screens or packaging. It does not transfer ownership of the footage. If the brand wants edits or re-uploads from its own account, that is a separate license, and the difference between those grants is worth settling early (see organic vs paid usage rights in a UGC contract).

One more mechanic that belongs in the contract: if the creator deletes, archives or makes the post private, the ad stops. The brand is relying on the creator keeping an asset live on an account the brand does not control.

The clause: duration, scope, placements and spend

Work through this checklist before anyone generates a code. Every line should have an answer in the agreement, not in a DM thread.

  • Which posts are licensed, identified by URL or video ID, not by description.
  • Post-level or account-level authorization.
  • Length of the authorization window and what triggers the start.
  • Which ad accounts may redeem the code, named by account ID or advertiser name.
  • Territories and languages the ads may target.
  • Whether the brand may run the post in other ad formats or only as Spark Ads.
  • Whether the brand may use the same post in a different platform's partnership ad format.
  • Who moderates comments on the boosted post.
  • Renewal price and notice period, agreed now rather than later.
  • What the creator must do to keep the post live and the authorization active.

The start trigger causes more arguments than anything else on that list. A code generated on the first of the month but redeemed two weeks later burns part of the window on nothing. Creators should resist a term that starts on redemption with no outside date, because the brand can sit on the code. Brands should resist a term that starts on generation, because internal approvals slip. The fair middle is a term that starts on redemption, with a backstop date after which the authorization is treated as started whether or not the brand has redeemed it.

Here is clause language you can adapt:

Spark Ads authorization. Creator will generate a TikTok Spark Ads authorization code for the post(s) listed in Schedule A (the "Licensed Posts") and deliver it to Brand at [email address] within [number] business days of signature. The authorization is post-level only. Brand may redeem the code solely in the ad account(s) listed in Schedule A and may not transfer, resell or sub-license the code to any other advertiser, agency ad account or reseller without Creator's prior written consent. The authorization period is [number] days, beginning on the date the code is redeemed or [backstop date], whichever is earlier. Brand may target the Licensed Posts in [territories] only. Brand may run the Licensed Posts as Spark Ads in their original form and may not edit, re-cut, re-upload, overlay, or use the underlying footage in any other ad format or on any other platform without a separate written license. Creator will keep the Licensed Posts live, public and unmodified for the authorization period and will not revoke the authorization except as permitted in Section [X].

Spend caps are optional and often more trouble than they are worth. A cap gives the creator some control over how much exposure the post gets, but it forces both sides into reporting and reconciliation. If exposure volume genuinely matters to the creator, a cleaner lever is a shorter window with a pre-agreed renewal price. If a cap stays in, define whether it is per post, per market or per campaign, and say what happens if the brand goes over.

Brands running several creator deals at once should keep these terms identical across contracts. Brands that hire creators through marketplaces like UGC Roster often standardise them in one template so the media team is not reading a different authorization scope for every asset.

Pricing ad access: how each side should think about the fee

Ad access is priced separately from the content fee, and separately again from organic posting. The levers that move the number are predictable, so both sides can negotiate on the same axes instead of trading adjectives.

What raises the price:

  • Longer authorization windows.
  • Account-level rather than post-level authorization.
  • More posts covered by the same deal.
  • Wider territory, especially multi-market campaigns.
  • The right to use the post in other partnership ad formats on other platforms.
  • Any category exclusivity attached to the ad period.
  • Automatic renewal rights or an option the brand can exercise unilaterally.

What keeps it lower:

  • A single named post.
  • A short, defined test window with a clear renewal price.
  • One named ad account.
  • One market.
  • No exclusivity, so the creator can take work from adjacent brands.

Creators should quote ad access as a separate line on the invoice, priced per post per period. Keeping it separate makes the renewal conversation easy, because the brand already knows the unit. A useful script: "The content fee covers production and your organic repost. Spark Ads authorization for that post is a separate line, quoted per [period]. If the ad works and you want to keep running it, the renewal rate is the same per [period] with [number] days notice."

Brands should budget ad access as media licensing, not as an extra demand on the creator's goodwill. The useful counter-script: "We want post-level authorization on one video, one ad account, our home market only. We would like the option to extend twice at the same rate. Can you quote that?" Naming the narrowness of the grant is the strongest argument for a lower number.

For a deeper breakdown of the levers on both sides, see whitelisting fees and how creators price ad access and how to price whitelisting in a contract.

Revocation, renewal and what happens when the code expires

Authorization windows end quietly. Delivery stops, the ad set starts underspending, and someone on the media team messages the creator asking for "a new code" as if it were a password reset. Decide in advance what that message costs and how it is handled.

Renewal should be mechanical. Agree the price and the notice period in the original contract, so neither side is renegotiating mid-campaign with leverage on one side. A brand with a winning ad will pay to keep it live, and a creator who waits until the window closes to name a price is negotiating against a stopwatch. That is good for nobody's working relationship.

Renewal. Brand may extend the authorization period for additional [period] increments by giving Creator written notice at least [number] days before expiry and paying the renewal fee of [amount] per Licensed Post per increment. Renewal is not automatic. If Brand does not renew, Brand will pause and archive all ad groups using the Licensed Posts on or before the expiry date.

Revocation needs a two-way rule. Brands want certainty that the creator will not pull the authorization mid-flight after being paid. Creators want the ability to pull it if the brand stops paying, runs the post outside the agreed scope, or targets a market that was never licensed. Write both.

Revocation. Creator will not revoke the authorization during the authorization period, except where Brand (a) fails to pay any undisputed invoice within [number] days of the due date, (b) runs the Licensed Posts in an ad account, territory or format not permitted under this agreement, or (c) materially breaches this agreement and does not cure within [number] days of written notice. Brand will cease all paid delivery of the Licensed Posts immediately on expiry or valid revocation.

Two more edge cases worth naming. First, what happens if the creator deletes the post during the term, by accident or because they are cleaning up their grid. The clause above already obliges them to keep it live, and a short remedy line (re-upload and re-authorize, or refund the unused portion) saves an argument. Second, what happens if ads keep delivering after expiry. A continued-use fee at a defined rate per day or per week, plus a short cure window, is more practical than a vague threat. The broader version of that problem is covered in what to do when a brand runs UGC after usage rights expire, and the mechanics of extending are in usage rights extensions and renewals.

Handover safeguards: disclosure, deletion and account protection

Spark Ads look like organic posts, because they are organic posts. That is exactly why disclosure obligations need to sit in the contract rather than in a verbal reminder. In practice that means a clear disclosure in the caption, not only a platform toggle, and a line in the contract saying the creator will not remove it while the post is licensed. The disclosure obligation is covered in more depth in FTC disclosure rules in a UGC or influencer contract. This is general information, not legal advice.

Account protection rules for creators:

  • Share a code, never a login. If a brand asks for credentials or to be added as a user on your personal account, that is a different and much riskier arrangement. Say no or price it as a separate agreement.
  • Default to post-level authorization. Grant account-level only when the deal genuinely covers an ongoing retainer, and bound it in writing anyway.
  • Screenshot the authorization settings on the day you generate the code, including the window and the post.
  • Put the code in an email, not a disappearing chat. You want a timestamped record of what was delivered and when.
  • Diary the expiry date. Check whether ads are still running a few days after.

Operational safeguards for brands:

  • Redeem and test the code before launch day, not during it. Codes mistype easily.
  • Record the redemption date in the campaign brief, because that is usually what starts the clock.
  • Keep the authorization scope in the same place your media buyers work. A buyer duplicating an ad group into a new market is the most common accidental breach.
  • Agree comment moderation in advance. Paid delivery brings comments onto the creator's post, including hostile ones. Decide who replies, who hides, and who escalates.
  • Ask the creator to confirm the post will stay live, and note the posting and deletion rules alongside your other content terms (see posting dates and deletion in an influencer agreement).

Reporting is the quiet ask. Creators often want to know how the ad performed, especially if a renewal is coming. Brands are rarely willing to hand over full account data. A workable middle is a short summary at the end of the flight: impressions served against the licensed post, markets used, and whether the brand intends to renew. Write that into the contract if it matters to you, because nobody volunteers it.

Common mistakes

Sending the code before the contract is signed. This happens because the code feels like a setup step and the campaign is already late. Once the code is redeemed, the creator's leverage drops to near zero. Do not generate a code until the agreement is signed and, ideally, the deposit has cleared.

Leaving the start date undefined. Brands assume the window starts when they launch. Creators assume it starts when they generate the code. Both are reading the same sentence. Fix it with a redemption trigger plus a backstop date, as in the clause above.

Granting account-level authorization for a one-video deal. Creators click through the authorization screen quickly and pick the broader option, or a brand asks for it because it is simpler for the media team. The result is a wider grant than the fee covered. Specify post-level in the contract and verify the setting before sending.

No named ad accounts. A code handed to a brand can end up redeemed in an agency account, a reseller's account or a regional partner's account. That may be fine, but it should be agreed. Name the permitted accounts in a schedule and require written consent to add more.

Deleting or archiving the licensed post mid-flight. Creators tidy their profiles, or take down a post that attracted negative comments. Ad delivery dies with it. Put a keep-live obligation in the contract and give the creator a clear route to raise problems instead of deleting.

Treating Spark Ads rights as general paid rights. A brand that has Spark Ads authorization sometimes assumes it can also cut the video into a feed ad from its own handle. Those are different grants. Spell out that the authorization covers the post in its original form, and that edits or brand-handle usage need a separate license.

No renewal mechanism. Without a pre-agreed renewal price, the conversation happens when the ad is performing and the window has days left. That is a bad negotiation for the brand and an awkward one for the creator. Agree the renewal rate and notice period up front.

Next steps

If you are a creator, do this before you touch the authorization screen. Write down the post URL, the window you are willing to grant, the ad accounts you will allow, the territory, and the renewal price. Put those five items in the contract as a schedule. Then generate the code, screenshot the settings, email the code, and diary the expiry. If a brand pushes back on naming the ad account, that is the moment to slow down, not speed up.

If you are a brand, decide what you actually need before you ask. One post or several? One market or three? One ad account or the agency's too? Ask for exactly that, price it as media licensing, and include an extension option at a fixed rate so you are not renegotiating when the ad is working. Then brief your media buyers on the limits, because the breach that costs you a creator relationship is usually a duplicated ad group, not a deliberate decision.

For the drafting itself, start from the Influencer Whitelisting Agreement Template and adapt the scope language to Spark Ads specifics: named posts, post-level authorization, named ad accounts, redemption-triggered term. When the terms are settled, put them in a signed agreement both sides can point to later using the UGC contract builder, which covers usage rights and duration, paid usage and whitelisting, exclusivity and cancellation in one document that both parties e-sign.

For high-value campaigns, account-level authorization, or anything involving multiple markets and regulated claims, have a lawyer review the agreement. This article is general information and not legal advice.

FAQ

Questions, answered.

What is influencer whitelisting, and how should a contract price it?

Whitelisting is when you grant a brand permission to run ads from your handle, usually through an ad partner or creator authorization inside the platform. Price it as a separate fee from content creation, because you are licensing your identity and audience signal, not just footage. Say a brand asks you to extend a one-post test into a six-month always-on campaign. That is a new fee, not a free extension. Brands: budget whitelisting as a line item in the media plan and name the ad accounts, placements, markets and window in the contract so renewal conversations are simple rather than awkward.

How do creators price ad access to their account with whitelisting fees?

Price it on four variables: duration of the authorization, how many ad accounts and partners can redeem it, which markets and placements the ads will run in, and whether the brand can edit or only boost the existing post. A short regional test from one ad account should cost less than global always-on access across an agency's accounts. Imagine a brand asking for account-level access so a media buyer can promote future posts too. Quote that higher and cap it in writing. Brands: tell the creator the real scope up front, because a surprise scope change mid-flight costs more than buying the right window at the start.

How do Meta partnership ads and whitelisting differ on permissions, duration and access removal?

They differ mainly in how access is granted and how cleanly you can take it back. Partnership ads use a creator-generated code or a permission toggle tied to specific content, with a defined window. Broader whitelisting through a business partner setup can give an advertiser standing access until you revoke it manually. Say you finish a campaign and assume access ended. If it was a standing permission, ads may keep running. Creators: write a revocation step into the contract and diary the end date. Brands: confirm in writing who removes access, when, and what evidence of removal you will send.

Why are whitelisting and usage rights separate line items in a contract?

Because they grant different things and can end on different dates. Usage rights cover where the brand may publish and reuse your content, including its own handles, website, email and retail. Whitelisting covers ads running from your handle, with engagement landing on your post. Imagine a brand buying twelve months of organic usage but only a short paid test from your account. If one line item covers both, you cannot tell when the ads should stop. Creators: list them separately with separate fees and end dates. Brands: separating them makes renewals cleaner and avoids paying for paid access you are not using yet.

What do brands need from creators to run whitelisted ads safely?

You need the authorization code or permission, the exact post identifiers, a named contact for fixes, and written confirmation that the creator will not delete, archive or edit the post during the window. Also confirm the content is disclosed as an ad in line with the FTC Endorsement Guides, and that the creator holds rights to any music, footage or people featured. Say your media buyer scales a winning ad and the creator switches their account to private for a weekend. Delivery stops. A clause requiring the post to stay live and public, plus a replacement code within a stated turnaround, prevents that.

What terms should both sides agree on for dark posting and creator licensing?

Agree on which assets can be dark posted, from which ad accounts, in which markets, for how long, and whether the brand can edit or only promote as posted. Add approval rights over any new cut built from your footage, plus who moderates comments on ads running from your handle. Imagine a brand making a regional variant with a different voiceover and claims you never agreed to. Creators: require written approval for edits. Brands: ask for a stated editing allowance up front so you are not chasing sign-off per variant. You can set these out in a UGC Contracts agreement before the code is sent.

How long should a Spark Ads authorization code run, and who decides?

The creator sets the window when generating the code, so it should match the paid term you negotiated, plus a short buffer for launch delays. Decide the length in the contract, not in Slack on launch day. Say the brand buys a short test and the creator issues a long authorization by habit. The ads can keep running past the fee period. Creators: issue the code for the agreed term and note the expiry date in the contract. Brands: if you expect to extend, write a renewal clause that states the extension fee and how much notice you must give before expiry.

What happens if a creator deletes the original post while Spark Ads are still running?

Delivery typically breaks, because the ad is powered by the live organic post. Deleting, archiving, editing or making the account private can stop the ad or invalidate the authorization. Imagine a creator tidying their grid mid-campaign and a brand losing its best performing ad overnight. Creators: agree in writing to keep the post live and unedited for the authorization window, and ask for a takedown right if something goes wrong, such as a safety issue or a brand controversy. Brands: ask for a replacement code or a substitute asset within a stated turnaround, and name who pays if a breach causes the loss.

Keep reading
All guidesCreate your UGC contract