Dark Posting and Creator Licensing: Terms to Agree On
Dark posting and creator licensing explained: the terms creators and brands should agree on for ad access, duration, spend caps and access removal.
Published 17 min read
On this page
You have agreed on a video. Now the brand wants to run it as an ad from your handle, in versions that never appear on your profile. That is dark posting, and it needs its own paragraph in the contract. Dark posting creator licensing fails when the content license, the handle permission and the ad variants get treated as one line item.
Most disputes in this area are not about money. They are about surprise. A creator sees a friend send a screenshot of an ad with her face, a headline she never wrote and a comment section she cannot moderate. A brand finds the Spark Ads code expired mid-flight on the best performing creative, with spend already committed. Both outcomes come from the same gap: nobody wrote down what "run it as an ad" actually meant.
This article gives each side the terms to request, the clause wording to paste, and the trade-offs that usually settle in the middle. It is general information, not legal advice. For a large spend commitment, an exclusive ambassador deal or anything involving health, finance or kids, have a lawyer read the agreement.
What dark posting really is (and what it is not)
A dark post is a paid ad that is published only to a targeted audience. It does not appear on the organic feed, grid or profile of the account it runs from. On Meta these are unpublished page posts, often combined with partnership ads. On TikTok, Spark Ads promote a post that may exist only as a creator video the brand never asked you to leave up.
Dark posting solves a real problem for brands. You can run many headline, hook and audience combinations without spamming a profile. The creator's grid stays clean. The brand gets creative volume.
Here is what dark posting is not.
It is not the same as a usage license. A license says the brand may use your footage. Dark posting is a distribution method for that footage. You can grant paid usage with no dark posting, and you can allow dark posts only from the brand's own account.
It is not the same as whitelisting. Whitelisting (Meta calls the current version partnership ads) is permission for a brand to run ads that display your handle and profile photo as the sender. Dark posting describes whether those ads appear organically. The two often travel together, which is exactly why they get confused. If you want the split explained line by line, see whitelisting vs usage rights as separate line items.
It is not invisible. Ads that run from a creator handle are discoverable by people who find the ad, and anyone can reply in the comments. Meta also maintains a public ad library for certain ad categories. Treat "dark" as "not on the grid", not as "nobody will ever see it".
It is not a safe place to get casual about disclosure. Limited distribution does not change how a paid endorsement looks to the people who do see it. Read the FTC Endorsement Guides at 16 CFR Part 255, check how they apply to the ads you are actually running, and ask a lawyer if the category is regulated. Then write the disclosure obligation into the contract so every variant carries it.
The three separate permissions in one deal
When a brand says "we want to whitelist and dark post this", they are asking for three things. Price and scope them separately.
Permission one: the content license
This is the right to use the asset itself in paid media. It has a duration, a territory, a channel list and an edit scope. Without it, nothing else matters. A creator who only grants organic usage has not granted paid usage, even if the brand already has the file.
Permission two: identity and handle access
This is permission for ads to carry your name, handle, profile photo and voice as the apparent sender. It is a bigger ask than the content license because it borrows your credibility, not just your footage. It also means strangers reply to you, not to the brand.
Mechanically this is a platform permission, not a file transfer. On Meta it is granted in account settings or through a partnership ad code. On TikTok it is an authorization code the creator generates in the app.
Permission three: dark distribution and variant creation
This is the right to publish versions that never appear organically, in unlimited combinations of hook, caption, thumbnail and call to action. This is the permission creators most often give away without noticing.
The practical question is simple. How many distinct ad variants can exist, and does the creator see them before they go live? A brand testing many hooks has a legitimate reason to want speed. A creator has a legitimate reason to not want a claim attached to her face that she never made.
Terms both sides should pin down in writing
Use this as a clause checklist. Each item has a creator ask, a brand ask, and where deals usually land.
Scope of paid usage
Name the platforms and placements. "Meta (Facebook and Instagram, feed, Reels, Stories) and TikTok" is specific. "All digital" is not. Creators should ask for a named channel list. Brands should ask for the channels they actually buy, plus one they might add, rather than an open grant.
Term and renewal
Set a start date and an end date for paid usage and for handle access. They can differ. A common middle: a short handle access window that matches the ad flight, sitting inside a longer content license. Agree the renewal rate now, as a fixed figure or formula, so nobody renegotiates under deadline pressure. Related reading: usage rights extensions and renewals.
Variant count and approval
This is the core dark posting term.
Dark posting. Brand may run the Content as unpublished (dark) ads from Brand's ad account and from Creator's handle via partnership ads or Spark Ads. Brand may create up to twelve distinct ad variants (changes to hook, caption, thumbnail or call to action count as distinct). Brand will send Creator a preview link or screenshot of each distinct variant by email before launch. Creator will approve or request changes within two business days. No response within two business days counts as approval.
The silence clause matters. Brands fear approval becoming a bottleneck. Creators fear being ignored. A short deemed-approval window protects both.
Edit rights
Separate cosmetic edits from substantive ones.
Edits. Brand may trim, re-order, caption, add music, add on-screen text and re-cut the Content for ad placements. Brand may not alter Creator's spoken words, add performance or results claims attributed to Creator, use Creator's likeness alongside another endorser, or apply the Content to a product other than the Product named in this agreement.
For more on where editing lines sit, see can a brand edit, cut or remix UGC.
Disclosure
Disclosure. Every ad that runs from Creator's handle will use the platform's paid partnership or branded content label where available. Ad copy will include a clear disclosure such as "#ad" in the first two lines. Brand is responsible for applying the label on ads it publishes.
Brands should own label application because brands control the ad object. Creators should still check a sample, because the creator's name is on it. The deeper walkthrough is in FTC disclosure rules in a UGC or influencer contract.
Comments, DMs and moderation
Decide who reads replies on ads that carry the creator's handle, who answers product and shipping questions, and who hides or deletes abuse. A workable default: the brand monitors and responds to product questions, the creator keeps the right to hide or report abusive comments directed at them.
Reporting and transparency
Creators can reasonably ask for a list of live variants on request, or a monthly screenshot pack. Brands should resist handing over full account performance data. A list of live creatives is a fair middle.
Wind-down and revocation
Wind-down. On expiry or termination, Brand will pause and archive all ads using the Content, including dark posts, within three business days, and will cease all spend behind Creator's handle. Creator may revoke platform permissions after that period. Brand will not re-upload or re-run the Content after the term without a new written agreement.
This is the clause that prevents the most common post-deal fight. See also what to do when a brand keeps running UGC after rights expire.
Exclusivity
Handle access and exclusivity are different asks. A brand running ads from your handle may want you off competitor ads for the same window. Price that separately and limit it to a defined category. Details in exclusivity clauses: category, duration, price.
Kill fee
If the brand cancels after you have granted access and reserved the window, a kill fee covers the exclusivity you already honoured. See kill fees in a UGC contract.
Platform mechanics: Meta partnership ads and TikTok Spark Ads
Contract terms fail when they ignore how the permission is actually granted. Two things matter.
Meta partnership ads
The creator grants the brand permission through their own account settings, or supplies a partnership ad code tied to a specific post. The brand then builds ads in its own ad account that display the creator's handle. The creator does not hand over passwords, and should never be asked to.
For the contract, write down which method you are using, who performs the setup step, and by when. A missed settings toggle stalls a launch as effectively as a missing signature. The access and permissions detail sits in Meta partnership ads: whitelisting permissions and access.
TikTok Spark Ads
The creator generates an authorization code in the app for a specific video, and chooses an authorization window when they create it. The brand enters that code in TikTok Ads Manager. When the window ends, the brand can no longer run that Spark Ad.
The contract failure mode is a mismatch. The paid usage term in the agreement says one duration and the code says another. Write the rule explicitly.
Platform authorizations. Creator will issue a TikTok Spark Ads authorization code for each approved video within two business days of request, with an authorization window no shorter than the paid usage term in this agreement. Creator will reissue a code without additional fee if a code expires during the paid usage term.
That last sentence is the one brands should insist on, and it is fair, because the creator has already been paid for the window. More on code handling in Spark Ads authorization codes and contract terms.
A rule for both platforms
A platform permission is not a licence. The code grants technical ability. The contract grants legal permission and defines its limits. Brands that rely only on a code have no written record of edit rights, variant caps or wind-down. Creators who rely only on the contract have no way to stop ads quickly if things go wrong. Use both.
Pricing it: what creators should charge, what brands should budget
There is no standard rate here, and anyone quoting one without a source is guessing. Price the levers instead.
What pushes the price up
- Duration. A short flight tied to one campaign costs less than a long open window.
- Handle access. Ads from your handle borrow your audience's trust. That is worth more than a licence to footage alone.
- Variant volume and edit freedom. Unlimited re-cuts and unlimited hooks transfer creative control to the brand.
- Exclusivity. Any competitor restriction is a cost to the creator's future bookings.
- Territory. Global costs more than a single market. See territory and channel limits.
- Category risk. Supplements, finance and anything regulated carries more exposure for the creator's name.
- Spend scale. A creator fronting a national campaign is doing different work from one fronting a retargeting test.
What creators should do
Quote three lines, not one: production fee, paid usage licence, handle access for dark posting. Add exclusivity as a fourth if requested. When a brand asks to "add whitelisting", you are not discounting the base fee, you are adding a line. A script that works:
"Happy to do it. Handle access is a separate line from the content licence because it uses my account and my name. For a defined flight window on Meta and TikTok with a capped number of variants, the rate is X. If you want unlimited variants or a longer window, I can quote that too."
How creators structure these line items is covered in whitelisting fees: how creators price ad access, and a reusable format sits in the UGC Rate Card Template.
What brands should do
Budget usage and handle access as media cost, not as a creative overrun. Decide the window you will actually spend against before asking. Paying for a year of handle access on a short campaign is money you cannot recover.
Buy a renewal option instead of a long upfront term. A clause that fixes the price of a defined extension gives you optionality without paying for time you may never use. Brands hiring through marketplaces like UGC Roster often standardise these terms across a roster in one template, which makes renewals easier to manage. Pricing frameworks for the brand side are in how to price influencer whitelisting in a contract.
Common mistakes
Treating dark posting as included in usage rights
Why it happens. The brand already has the file and assumes distribution is their call. The creator signed a contract that says "paid social usage" and never defined whose handle.
What to do instead. Add one sentence naming the sender account. "Paid usage from Brand's owned accounts only" or "paid usage from Brand's accounts and from Creator's handle via partnership ads and Spark Ads". The difference is a separate fee.
Letting the platform code set the real deadline
Why it happens. Nobody checks whether the authorization window matches the contract term. Codes expire quietly and campaigns stop.
What to do instead. Use the reissue clause above. Brands should calendar the code expiry date. Creators should note it too, because a frantic Friday request is avoidable.
No cap on variants or edits
Why it happens. Brands test fast and do not want approval friction. Creators do not realise a single video becomes many ads.
What to do instead. Cap distinct variants, define what counts as distinct, and use a short deemed-approval window. Brands keep speed. Creators keep veto power over claims.
Forgetting disclosure on unpublished ads
Why it happens. "Dark" sounds like it is not public. It is. The label toggle sits in a different place for dark posts and gets missed.
What to do instead. Put disclosure responsibility on the brand in writing, require the platform label plus in-copy disclosure, and have the creator spot check a live variant per flight.
Ignoring comments and DMs
Why it happens. Neither side thinks about it until a customer complaint lands under the creator's name.
What to do instead. Write a moderation clause. Name who responds, what the response time is, and who can hide comments. Give the creator the right to hide abuse aimed at them.
Handing over account passwords
Why it happens. A creator wants to be helpful and a brand asks for "access".
What to do instead. Never share login credentials. Use the platform's permission or code flow. Put it in the contract: "Access is granted via platform permissions only. Creator will not share account credentials."
No wind-down procedure
Why it happens. Everyone focuses on launch. Nobody writes the exit.
What to do instead. Add the three business day pause and archive clause. Brands should assign the takedown to a named role. Creators should revoke platform permissions only after the agreed window, not unilaterally mid-flight.
Next steps
Do one thing first: write down the sender account. Before you discuss money, answer whether ads will run from the brand's account, the creator's handle, or both. Every other term in this article follows from that answer.
Then, in order:
Creators. Split your quote into production, paid usage licence and handle access. Add a variant cap and a two business day approval window to your standard terms. Set your handle access window to match the brand's actual flight, not a year. Add the reissue clause so you look easy to work with without extending the term for free.
Brands. Write the channel list, the flight dates and the variant cap into the brief before you ask for access. Buy a priced renewal option instead of a long upfront window. Assign one person to apply disclosure labels and one person to run the wind-down on the end date.
Both. Put it in one document that covers deliverables, fee, paid usage, dark posting, handle access, exclusivity, approvals and cancellation. The Influencer Whitelisting Agreement Template is a reasonable starting point, and you can build and e-sign the whole agreement in the UGC contract builder when the terms are settled.
If the deal involves a large committed spend, a regulated category, or perpetual rights, pay a lawyer to read it before anyone signs.
Questions, answered.
What is influencer whitelisting, and how should a contract price it?
Whitelisting is permission for a brand to run paid ads from your handle, so your name and profile photo appear as the sender. Meta's current version is called partnership ads. Price it as its own line item, separate from the content fee and separate from organic usage. The drivers are term length, platform count, whether the brand can edit captions or hooks, and whether ads can target audiences you would not endorse to. Say a brand asks for handle access for a seasonal campaign. Quote one rate for the content, one for handle access, and renew or re-price at the end date.
How do creators price ad access to their account (whitelisting fees)?
Price handle access on risk and duration, not on a flat industry number. Ask four questions: how long, which platforms, who writes the ad copy, and can the brand run ads outside the product category you agreed to promote. Longer terms, broad editing rights and category-wide permission should cost more than a short, locked-down flight. Imagine a brand that wants handle access for a long open window with unlimited creative variants. That is a different product from a short test window on one platform, and your quote should show that difference as separate lines on the same invoice.
What should the contract say about Spark Ads authorization codes?
It should say who generates the code, how long the authorization runs, what happens if it expires mid-flight, and when the video must stay live. Spark Ads promote a post from your account, so the code and the underlying video both matter. Write: "Creator will generate an ad authorization code for the agreed duration and keep the underlying post available for the ad term. Creator will issue a replacement code within two business days of a written request." Imagine a brand with spend committed to its best performing creative. A replacement clause stops a lapsed code from killing the campaign.
How do Meta partnership ads handle permissions, duration and access removal?
Permissions are granted in the platform's own tools, and they are separate from your contract. Your contract should mirror what you set in the tool, including start date, end date and how access ends. Creators: confirm in writing that access ends on the stated date and that you may revoke if payment is late or the brand edits copy beyond the agreed scope. Brands: ask for notice before revocation so live ads are not cut mid-flight. Say a creator revokes access the day a sale starts. A clause requiring written notice and a wind-down window prevents that surprise for both sides.
Why are whitelisting and usage rights separate line items?
Because they are different permissions with different risk. Usage rights say the brand may use your footage. Whitelisting says the brand may speak as you. A brand can hold full paid usage and still run every ad from its own account, which costs you nothing in reputation. Say you grant paid usage from the brand handle, then the brand quietly starts running ads from yours. If the two were one line, you have no clean argument. Separate lines let each side extend, drop or re-price one permission without reopening the whole agreement.
What do brands need from creators to run whitelisted ads safely?
You need written handle permission, a defined term, a disclosure commitment, and a named contact for comment moderation. Also get confirmation that the creator cleared any third party content in the video, including music, visible people and trademarks. Ask whether the creator has an exclusivity deal with a competitor that your targeting could touch. Imagine you launch partnership ads and a competitor's exclusivity clause gets triggered by the creator's own agreement elsewhere. That dispute lands on the creator, but the ads get pulled either way. Put these confirmations in the contract rather than a direct message thread.
Does a dark post still need an FTC disclosure?
Plan for yes, and contract for yes. An ad that never appears on your grid still reaches an audience, and that audience cannot tell the relationship is paid unless you say so. Read the FTC Endorsement Guides at [16 CFR Part 255](https://www.ecfr.gov/current/title-16/chapter-I/subchapter-B/part-255) to see how they treat material connections, and ask a lawyer how they apply if your category is regulated. The safer practice is to put disclosure in the video or caption itself, not only in a platform toggle that an ad variant might drop. Say a brand cuts a new hook from your footage and loses the opening on-screen tag. The disclosure vanishes with it. Write a clause saying every variant must carry disclosure and the brand will not edit it out. Both sides can face exposure, so both should care.
What happens to live dark posts when the license term ends?
That depends entirely on what you wrote. Without a clause, you get the argument. Add a takedown term: "Brand will stop all paid delivery of Licensed Content within five business days of the license end date and will not launch new ad variants after that date." Brands: ask for a short wind-down window so committed spend is not stranded. Creators: ask for written confirmation that delivery stopped. Imagine a creator finds an old ad running long after the end date. A dated takedown clause turns that from a dispute into a request. You can set this out in a [UGC contract](https://ugccontracts.com/create) before the campaign launches.