A brand emails: "What are your rates?" You freeze, search for a number, find a stranger's per-subscriber formula, and either undersell or send something no brand takes seriously. The better move is a creator rate card built from your own numbers, so you can explain every line when someone pushes back.
This post gives you a method, a short script I ran on 2026-10-09, pitch prompts, and pointers to the disclosure rules. There are no industry rates in it, on purpose. I didn't verify any public rate source for your niche and audience, and a made-up "typical ₹X per 1,000 views" would be worse than none. The example figures below are hypothetical, labelled, and meant to be replaced.
What goes on a rate card
A rate card is a short list of deliverables with a price each, and the terms that change the price:
- Deliverables: a dedicated video, a 60-90 second integration, a Short, a newsletter mention, a story or post.
- Usage rights: whether the brand may reuse your content in its own ads, for how long and where.
- Exclusivity: whether you agree not to work with competitors for a period.
- Revisions and approvals: how many rounds are included.
- Payment terms: advance, due date after invoice, late fees.
- Disclosure: that the content will be labelled as sponsored.
Price the first two terms separately. Usage rights and exclusivity cost you future earnings, so they're add-ons, not freebies.
The method: floor, anchor, ask
Three numbers, all from your own data.
1. Floor: what the work costs you. Hours for the integration (scripting, filming, edits, revisions, calls) times the hourly rate you want, plus direct costs, then divided by (1 - set-aside), where the set-aside is the share you keep aside for taxes and fees. Your accountant decides the right set-aside percentage and how GST or income tax apply to you. I won't state those rules here.
2. Anchor: what your own past deals paid per thousand views. For each past paid deal: fee / views at day 30 x 1000. Take the median. Multiply by your median recent day-30 views divided by 1000. This ties the price to what your audience delivered for a brand before.
3. Ask: the higher of the two, then add usage and exclusivity as explicit uplifts that you choose. Never go below the floor.
If the floor is higher than the anchor, as it is in the example below, you've learned something: your past deals were underpriced for the effort, or this deliverable isn't worth the hours. Both are useful to know before the next email.
The script, and what it printed
Save as ratecard.py. Standard library only. Nothing in it is an industry number.
import json, statistics, sys
d = json.load(open(sys.argv[1]))
views = d["recent_video_views_day30"]
median_views = statistics.median(views)
low_views = sorted(views)[len(views) // 4] # roughly 25th percentile
hours = d["hours_per_integration"]
floor = (hours * d["target_hourly_rate"] + d["direct_costs"]) / (1 - d["tax_and_fees_setaside"])
cpms = [x["fee"] / x["views_day30"] * 1000 for x in d["past_deals"]]
own_cpm = statistics.median(cpms) if cpms else None
rows = []
if own_cpm:
rows.append(("anchor (own median CPM x median views)", own_cpm * median_views / 1000))
ask = max(floor, rows[0][1]) if rows else floor
rows.append(("floor (hours + costs + set-aside)", floor))
usage = d.get("usage_rights_uplift", 0.0)
excl = d.get("exclusivity_uplift", 0.0)
print(f"median day-30 views : {median_views:,.0f} (25th pct {low_views:,.0f})")
print(f"own past CPMs : {[round(c, 1) for c in cpms]}")
for name, v in rows:
print(f"{name:42s}: {v:>10,.0f}")
print(f"ask (max of floor, anchor) : {ask:>10,.0f}")
print(f"+ usage rights {usage:.0%}, exclusivity {excl:.0%} : {ask * (1 + usage + excl):>10,.0f}")
print(f"walk-away (never go below) : {floor:>10,.0f}")
print(f"implied CPM at ask on median views : {ask / median_views * 1000:,.1f}")
print(f"implied CPM at ask on 25th pct views : {ask / low_views * 1000:,.1f}")
The inputs file. Every value is hypothetical; replace all of them with figures from your own analytics and invoices:
{
"recent_video_views_day30": [8200, 15400, 6100, 9800, 22000, 7300, 11000, 9400],
"hours_per_integration": 10,
"target_hourly_rate": 1500,
"direct_costs": 1000,
"tax_and_fees_setaside": 0.30,
"past_deals": [
{"fee": 12000, "views_day30": 9000},
{"fee": 8000, "views_day30": 6500}
],
"usage_rights_uplift": 0.25,
"exclusivity_uplift": 0.20
}
Run python3 ratecard.py inputs.json. Real output:
median day-30 views : 9,600 (25th pct 8,200)
own past CPMs : [1333.3, 1230.8]
anchor (own median CPM x median views) : 12,308
floor (hours + costs + set-aside) : 22,857
ask (max of floor, anchor) : 22,857
+ usage rights 25%, exclusivity 20% : 33,143
walk-away (never go below) : 22,857
implied CPM at ask on median views : 2,381.0
implied CPM at ask on 25th pct views : 2,787.5
How to read it. With these made-up inputs the floor (22,857) is nearly twice the anchor (12,308), so the ask is the floor, and it implies a cost per thousand views well above what the creator charged before. That's a signal to prepare your justification (deliverable length, rework, rights) or to say no to deals that can't pay for the hours. The 25th percentile line matters too: a brand is buying the typical outcome, and if your last few videos vary a lot, expect the brand to pay attention to the low end.
Things the script deliberately leaves out: audience quality, niche value, conversion tracking and seasonality. Those can justify a higher number, but then you need your own evidence, such as a past campaign's tracked sales from a link or code, not a guess.
No past deals: the empty-list path
Set "past_deals": []. The script prices from the floor only. When a brand asks for rates, reply with your deliverables and ask for their budget range first. Later, log every deal in a sheet with fee, deliverable, day-30 views and whether the brand renewed. After two or three rows you have an anchor of your own.
Pitch prompts (untested templates)
These are templates I wrote and didn't run on a live model. In both, you supply facts from your analytics; the model supplies structure.
Cold pitch to a brand:
Draft a 150-word sponsorship pitch email from me to {{BRAND}}.
My facts (use ONLY these; do not add any number or claim):
- Channel: {{NICHE}}, {{PLATFORM}}
- Median day-30 views on last 8 videos: {{N}}
- Audience facts I can screenshot: {{e.g. top country share, age band}}
- Past brand work I can name: {{NAMES OR "none yet"}}
- Why this product fits my audience, from my own use: {{TRUE STATEMENT}}
Structure: one line on why this brand, one line of proof, the deliverable
I propose, a call to action to share their budget. No flattery, no
adjectives like "highly engaged" unless I gave you data for them.
Reply to "what are your rates?":
Draft a short reply. I will send a rate card after I know the scope.
Ask: the product, deliverable, timeline, usage rights wanted, whether
exclusivity is needed, and their budget range. Tone: friendly, direct,
under 90 words. Do not state any price.
Negotiation check:
Here is my rate card and the brand's counter-offer. List what each side
is asking for beyond price (usage, exclusivity, revisions, payment terms).
Do not suggest a price. Flag terms that reduce my future earnings.
The third one helps because brands often negotiate with rights and payment days, not only with the fee. For the broader freelance angle, see AI prompts for consultants and freelancers and freelancing with AI in India.
Disclosure: read the regulators' pages yourself
I downloaded the ASCI and YouTube pages and read their text on 2026-10-09; the FTC page blocked my download, so I read it through a summarising fetch tool. What follows is a paraphrase, not a quote. Open each page and read the exact wording before you rely on it.
- ASCI influencer guidelines (India). ASCI's guidelines page (ascionline.in/the-asci-code-guidelines) includes "Guidelines for influencer advertising in digital media" (dated 21 April 2022 on the page, with later addenda). The version I read says: advertisements published by social media influencers must carry a disclosure label clearly identifying them as advertisements; disclosure is required whenever there is a material connection with the advertiser, which is not limited to money and includes free or discounted products, gifts, trips and other perks, even if the opinion is unbiased; disclosure must be upfront and prominent, and is likely to be missed if only in a bio, at the end of a post or video, behind a "more" click, or buried in hashtags. For videos it sets durations: at least 3 seconds for videos of 15 seconds or less, one third of the length for videos between 15 seconds and 2 minutes, and for the whole section where the brand is mentioned for videos of 2 minutes or longer. Live streams should announce it at the beginning and end; audio should announce it at the beginning, the end and around breaks. The permitted labels listed include Advertisement, Ad, Sponsored, Collaboration, Partnership, Employee, Free gift, Affiliate and any platform disclosure tool made for the purpose. It also says a virtual influencer must additionally disclose that they are not a real human, and responsibility sits with both the influencer and the advertiser. An addendum dated 6 March 2025 says influencers giving advice in banking, financial services and insurance, or health and nutrition, must be qualified and state their qualifications upfront. I read this as the page's text; I have not checked whether ASCI has issued a newer version elsewhere, and ASCI is a self-regulatory body, so the legal position is a separate question for a professional. The shorter ASCI Code page has a similar upfront-label rule written for media companies' social handles.
- FTC (US). The FTC's Disclosures 101 for social media influencers is relevant if you have US viewers or US brands. As summarised by the fetch tool, it says to place the disclosure with the endorsement and not on a profile page, at the end of a video or behind "more", to put it in the video itself and not only the description, not to rely on platform tools alone, and to use plain terms like "ad" or "sponsored" rather than vague ones like "collab".
- YouTube. The help page on branded content disclosure (support.google.com/youtube/answer/154235) says that if you feature branded content, sponsorships, endorsements or other commercial relationships, you have to select the paid promotion option, which adds a label at the beginning of the video, and that you and your partners remain responsible for legal requirements. It also says it is not legal advice.
If the deal involves a contract, GST, TDS or foreign payments, get a professional's advice. I haven't verified any tax or contract rule for this post.
Put a disclosure clause in your rate card: "Content will be labelled as sponsored per platform and applicable advertising rules." That also protects you if a brand asks you to hide it. If you use an AI avatar or synthetic voice as the face of the channel, read the virtual influencer line in the ASCI guidelines and the YouTube AI disclosure rules.
For title and thumbnail work that raises the views your anchor depends on, see the YouTube creator prompt guide.
Mistakes the method prevents
- Quoting a number before you know the scope. A 60-second mention and a dedicated video aren't the same product.
- Pricing from subscribers. Subscribers don't watch. Views at day 30 are your delivery.
- Giving rights away. Reuse in the brand's ads is a separate product.
- Letting a model invent social proof. "Trusted by thousands" with no source is the fastest way to lose a brand's trust, and it may breach advertising rules. Use screenshots.
- Skipping the walk-away number. Decide it before the call, not during.
What I'd skip
Skip any template that quotes "standard" rates per thousand subscribers or per follower tier unless it names a dated primary source. Build the card from your own invoices, update it each quarter, and keep the script and inputs file next to your deal log.



