TL;DR: A useful AI ad copy generator is one prompt carrying three things: your offer, the platform's real character budget, and the platform's ad policy. Copy the master prompt below, paste the Meta, Google or TikTok block under it, and run it. Every limit here was checked at the platform's own documentation on 26 August 2026.
What does an AI ad copy generator actually have to get right?
Two things, in this order. The character budget for the field you are pasting into, and the ad policy that governs what you are allowed to say in it. Angle, tone and hook come third.
That ordering sounds backwards until you have pasted a batch of AI-written ads into Ads Manager. The copy reads well. Then Google cuts a 38-character headline off at 30, Instagram Reels shows 44 characters of a 200-character paragraph, and half the batch goes back for a manual rewrite. The generator saved nothing. It moved the work from writing to editing, and editing is the slower half.
So the version of an ad copy prompt that is worth keeping is not a cleverer pile of adjectives. It is a prompt template that carries the platform's own numbers into the instruction, refuses claims you cannot support, and makes the model show its arithmetic on every line it produces.
Here is that prompt. It runs in ChatGPT, Claude, Gemini or anything with a reasonable context window. Fill the double-braced fields, paste one of the three platform blocks below it, and send.
ROLE
You are a direct-response copywriter with six years of paid social and paid
search behind you. You write to a character budget and you never exceed it.
INPUT
Product: {{PRODUCT}}
What it does, in one line: {{ONE_LINER}}
Audience: {{AUDIENCE}}
Primary pain: {{PAIN}}
Proof I can actually cite: {{PROOF}}
Offer: {{OFFER}}
Landing page URL: {{URL}}
Platform: {{PLATFORM}}
Campaign objective: {{OBJECTIVE}}
Brand voice rules: {{VOICE}}
Claims I am not allowed to make: {{CLAIM_LIMITS}}
TASK
Write {{N}} ad variants. Each variant uses a different angle from this list and
must be labelled with the angle it used:
1. Problem, then the specific mechanism that fixes it
2. Direct offer, no warm-up
3. Objection reversal (name the reason they would not buy, answer it)
4. Before-and-after workflow (the process changes, not a person's body)
5. Named social proof, drawn only from {{PROOF}}
6. Curiosity gap that the landing page at {{URL}} actually closes
RULES
- Count characters, including spaces and punctuation, for every field you write.
- Print the count in square brackets after each line, like this: [28/30].
- If a line is over budget, rewrite it. Never ship an over-budget line with an
apology attached.
- Use no claim that is not present in {{PROOF}}. If you need a number I did not
give you, write [NEEDS DATA] instead of inventing one.
- Write no second-person sentence that asserts something about the reader's
health, body, finances, age, religion, race, sexual orientation, criminal
record or immigration status. Describe the product, not the person.
- Do not use "guaranteed", "instantly", "cure", "risk-free", or a specific
result inside a specific timeframe, unless that exact claim is in {{PROOF}}.
- No emoji unless I ask for them. No words in ALL CAPS. No stacked exclamation
marks. No spaces or symbols inserted between the letters of a word.
OUTPUT
A markdown table. One row per variant, one column per field required by the
platform block below. Then one line naming the variant you would test first,
and why.
Two of those rules are doing more work than they look like they are.
The [28/30] count is not decoration. Language models read tokens, not characters, so a model has no native sense of how long a string is. Forcing an explicit count makes it do a separate pass over the text and catches most overruns. It does not catch all of them, which is why there is a verification step further down this page. Treat the printed count as a first filter, not a receipt.
The [NEEDS DATA] token is a guardrail against the single most predictable failure in AI ad copy. Every model I have tested will invent a statistic when the prompt implies that one would be persuasive. "Join 10,000 marketers" is the exact shape it reaches for. If you never gave it 10,000 marketers, you do not want that line running in an ad account with your name on the invoice.
What are the current character limits for Meta, Google and TikTok ads?
They differ by platform, and on Meta and TikTok they differ by ad format within the platform. There is no single number that covers all three. The table below is the short version, with every figure checked at the platform's own help documentation on 26 August 2026.
| Field | Meta (Ads Guide recommendation) | Google Ads (field limit) | TikTok (published spec) |
|---|---|---|---|
| Headline | 27 chars, Facebook feed image · 40 chars, Instagram feed image · 20 chars, Facebook carousel card | 30 chars, up to 15 headlines | Not published as a headline field |
| Body / primary text | 50–150 chars, Facebook feed image · 125 chars, Instagram feed · 44 chars, Instagram Reels · 80 chars, Facebook carousel | Description 90 chars, up to 4 | Ad description 1–100 Latin chars, or 1–50 Asian chars |
| Long headline | Not published | 90 chars, Performance Max, 1 to 5 | Not published |
| Description line | 18 chars, Facebook carousel card | Covered by the 90-char description | Not published |
| Display path | Not applicable | 15 chars each, two fields | Not applicable |
| Business / brand name | Not published | 25 chars, Performance Max | Brand name 2–20 Latin chars · App name 4–40 Latin chars |
| Non-Latin scripts | Not published | Each Korean, Japanese or Chinese character counts as 2 | Asian characters get roughly half the Latin budget |
| Final URL | Not published | 2,048 chars | Not published |
Google is the opposite case. Its limits are hard field limits, enforced at entry, and Google states them plainly: headline fields "support up to 30 characters" and description fields "support up to 90 characters each". There is no grey area to exploit.
How do you get Meta ad copy out of this generator?
Paste this block directly underneath the master prompt. It carries Meta's placement-level budgets and, more importantly, forces the model to write the shortest version first.
PLATFORM BLOCK: META (FACEBOOK + INSTAGRAM)
Budgets, from the Meta Ads Guide, checked 26 August 2026:
- Facebook feed, single image: primary text 50-150 chars, headline 27 chars
- Instagram feed, single image: primary text 125 chars, headline 40 chars
- Instagram Reels, video: primary text 44 chars
- Facebook feed carousel: primary text 80 chars, headline 20 chars,
description 18 chars, 2 to 10 cards
- Instagram feed allows a maximum of 30 hashtags
Write the tightest version first. The hook has to survive being cut to the
Reels budget of 44 characters, so build up from there rather than down.
Give me:
1. One primary text at 44 characters or fewer (Reels-safe hook)
2. One primary text at 125 characters or fewer (Instagram feed)
3. One primary text between 50 and 150 characters (Facebook feed)
4. Three headlines at 27 characters or fewer
5. Three headlines at 40 characters or fewer
6. One carousel set of three cards: each headline 20 chars or fewer, each
description 18 chars or fewer
Constraint: the first 44 characters of every primary text must stand alone as
a complete, comprehensible hook. Assume everything after character 44 is
invisible on some placement.
That last constraint is where most Meta ad copy is won or lost. A 125-character primary text is not a paragraph with a good ending, it is a hook with optional context attached. If your opening clause needs the second half of the sentence to make sense, it will not survive Reels, and increasingly it will not survive feed either.
One caveat worth internalising before you scale this. The 44-character Reels figure is Meta's own published recommendation for that placement, and it is dramatically shorter than the 125 people quote from memory for Instagram. If you are running Advantage+ placements, your copy is being rendered across all of them, and the shortest budget in the set is the one that governs your hook.
What changes when you generate Google Ads copy?
Everything gets more rigid and more countable. Google enforces its limits at entry, applies them identically across languages, and has an editorial policy that specifically bans the punctuation tricks writers use to squeeze under a limit.
PLATFORM BLOCK: GOOGLE ADS
Responsive search ads, from Google Ads Help, checked 26 August 2026:
- Headline: 30 characters, up to 15 headlines
- Description: 90 characters, up to 4 descriptions
- Display path: two fields, 15 characters each
- Final URL: up to 2,048 characters
Performance Max asset group, checked 26 August 2026:
- Headline: 30 characters, minimum 3, maximum 15
- At least one headline must be 15 characters or fewer
- Long headline: 90 characters, minimum 1, maximum 5
- Description: 90 characters, minimum 2, maximum 5
- Business name: 25 characters, exactly one
- Display URL path: 15 characters each, 1 to 2 paths
Give me:
1. 15 responsive search ad headlines at 30 characters or fewer.
At least 3 must contain the exact phrase {{KEYWORD}}.
At least 3 must be benefit-only, with no keyword in them at all.
At least 2 must be 15 characters or fewer.
2. 4 descriptions at 90 characters or fewer, each closing on a different
call-to-action verb.
3. 2 display paths at 15 characters or fewer each.
4. 5 Performance Max long headlines at 90 characters or fewer.
5. 1 business name at 25 characters or fewer, matching {{BRAND}} exactly.
Google counts each character in a double-width language (Korean, Japanese,
Chinese) as two. If {{LANGUAGE}} is one of those, halve every budget above and
print both counts, like this: [12 chars / 24 counted].
Editorial rules Google enforces on the text itself:
- No capitalisation, punctuation or symbols used for emphasis rather than for
their intended purpose
- No gimmicky or unnecessary repetition of names, words or phrases, and no
repeating the same text across assets in the same ad group
- No omitted or extra spacing, and no gimmicky spacing
- Every asset must name the product, service or entity being promoted
The asset mix instruction matters more than the character count here. A responsive search ad works by assembling combinations, so 15 near-identical keyword-stuffed headlines give the system nothing to combine. Asking explicitly for three keyword-free benefit headlines and two very short ones is what produces a set that can actually rotate. It is also, incidentally, how you avoid Google's rule against repeating text across assets.
The double-width note is not an edge case if you run anywhere in East Asia. Google states that in text assets "the length limits are the same across all languages" but that each character in a double-width language counts as two. A 30-character headline is a 15-character headline in Japanese, and no amount of prompting changes that.
One figure I could not confirm: a lot of third-party guides state that Performance Max requires one short description of 60 characters or fewer. That requirement does not appear on Google's current Performance Max text asset documentation as of 26 August 2026, which lists descriptions at 90 characters with no short-description exception. I have left it out rather than repeat it. If your account still enforces it, trust your account.
What does TikTok need that Meta and Google do not?
A caption that reads like something a person typed, and a much stricter set of rules about what characters you are allowed to use.
PLATFORM BLOCK: TIKTOK
Budgets, from TikTok Ads Manager help, checked 26 August 2026:
- Ad description: 1-100 Latin alphabet characters, or 1-50 Asian characters
- Brand name: 2-20 Latin alphabet characters, or 1-10 Asian characters
- App name: 4-40 Latin alphabet characters, or 2-20 Asian characters
- Spark Ads caption, pulled from the organic post: 150 characters maximum
- Account nickname displays on one line: 20 characters, or 10 for CN/JP/KR
Display rules:
- A maximum of 4 lines of caption is displayed. Beyond that it collapses
behind a See more message.
- Stay inside 100 characters (50 for CN/JP/KR) to avoid that collapse.
- Punctuation marks and spaces count as characters.
Character rules TikTok enforces:
- No emoji in the ad description, and no { } or # characters
- No clickable links, @ mentions or hashtags in a non-Spark ad caption
- No excessive or informal capitalisation, spacing, numbers, symbols or
punctuation inserted among the letters
- The caption must be free of spelling and grammatical errors
Give me:
1. 5 ad descriptions at 100 characters or fewer, each written to be read as a
caption by someone scrolling, not as a slogan on a billboard.
2. For each one, print the first 40 characters on their own line, so I can see
what survives above the fold.
3. One brand name at 20 characters or fewer.
The "reads like a caption" instruction is doing real work. TikTok ad copy that sounds like Facebook ad copy performs like an ad, which is the thing you were trying to avoid. Sentence fragments, lower case, a single specific detail. No tagline.
Two honest gaps in TikTok's own documentation, both dated today. The 100-character figure above is published on TikTok's Global App Bundle image ad specification page. TikTok's auction in-feed video ad specification page describes caption behaviour, the four-line display ceiling and the ban on links, @ symbols and hashtags in non-Spark captions, but it does not state a numeric character cap for that format. And the 150-character Spark Ads figure comes from TikTok's reservation in-feed specification. So 100 characters is a well-sourced safe build target rather than a universal TikTok limit. If someone quotes you one number for all of TikTok, they are rounding.
How do you stop the model lying about its own character counts?
You verify outside the model. The printed count is a useful filter and an unreliable witness, because character counting is exactly the task token-based systems are worst at.
Run this as a second pass, in a fresh chat, with the copy pasted in as data:
You are a character counter. For each line below, output only:
<the line> | <exact character count including spaces and punctuation> | PASS or FAIL against <budget>
Do not rewrite, improve, comment on, or explain any line. If you are not
confident in a count, output UNSURE instead of a number.
Budget: {{BUDGET}}
Lines:
{{PASTE_LINES_HERE}}
Separating counting from writing helps, because a model asked to both write and measure will bias the measurement toward the line it just wrote. It still is not proof. For anything going live at volume, paste the final set into a spreadsheet and use LEN(), or into the ad platform itself, which counts natively and will simply refuse an over-budget field. Ninety seconds of that beats a rejected batch.
This is the same discipline that makes any generator prompt trustworthy: the model drafts, a deterministic tool checks. It is the pattern behind the code review prompt generator and the SOP generator prompt as well, and it is why the tone-preserving translation generator asks for a back-translation rather than a self-assessment.
If you want the angles rather than the plumbing, the 40-prompt ad copy pack covers the creative side across four platforms. This page is the mechanical half.
Which ad policy rules quietly kill AI-written ad copy?
The ones that punish the exact sentence patterns language models default to. Below is a factual summary of published policy, with sources. It is descriptive, not exhaustive, and it is not legal advice. Policies change and enforcement varies by market, so read the primary source before you rely on any of it.
Prohibited and unreliable claims
Google's misrepresentation policy states that "making inaccurate claims or claims that entice the user with an improbable result (even if this result is possible) as the likely outcome a user can expect is not allowed". The same policy bans clickbait tactics and, specifically, using "negative life events such as death, accidents, illness, arrests or bankruptcy to induce fear, guilt or other strong negative emotions to pressure the viewer to take immediate action".
Meta's advertising standards on unacceptable business practices prohibit ads that "use deceptive or exaggerated claims about the success of a product or service to mislead people".
TikTok's weight management policy bans claims that results are "easy or guaranteed", and claims that a product works "without diet or exercise".
Notice what all three have in common. They do not ban being persuasive. They ban promising a specific outcome you cannot evidence. That is precisely the sentence a model produces when you ask it for a strong hook and give it no proof, which is why {{PROOF}} and [NEEDS DATA] are in the master prompt.
Personal attributes: the "do you struggle with" trap
This is the most common way AI-generated ad copy gets rejected on Meta, and almost nobody prompts around it.
Meta's Advertising Standards state that "ads must not contain content that asserts or implies personal attributes". The listed categories include race, ethnicity, religion, beliefs, age, sexual orientation or practices, gender identity, disability, physical or mental health including medical conditions, vulnerable financial status, voting status, trade union membership, criminal record and name.
Meta's own examples make the line unusually clear. "Do you have diabetes?" is listed as non-compliant. "Bulimia counseling available" is listed as compliant. "Are you a convicted felon?" fails; "services to clean up any previous offenses" passes. Even personalisation fails: "Billy Taylor, get this t-shirt with your name in print!" is non-compliant, while "we print customizable t-shirts with your name" is fine.
The rule underneath all of it: describe the product, never the person. Second person plus an attribute is the failure mode. A language model asked for an empathetic hook will reach for "Struggling with X?" every single time, because that is what direct-response copy has looked like for forty years. Your prompt has to override the training data explicitly.
Google approaches the same problem from the targeting side. Its personalised advertising policy restricts sensitive interest categories including health, negative financial status, relationship hardships, abuse and trauma, political affiliation and religious beliefs. For consumer finance, employment and housing ads in the United States and Canada, it prohibits targeting on gender, age, parental status, marital status and ZIP code.
Before-and-after imagery
The copy rules extend to what your creative shows, and this one is more nuanced than the internet consensus suggests.
Meta's health and wellness standard permits "general cosmetic products, procedures, surgeries depicting before and after transformation" when the ad is targeted to people 18 and over. What it prohibits is content containing "statements of inferiority about physical appearance", meaning terms, descriptions or questions that attack a person's appearance, specific body parts or hygiene. It also restricts ads that "employ clickbait tactics in a health, weight loss, or weight gain context, such as sensational language with exaggerated or extreme claims, or promises of specific outcomes within a set timeframe without disclaimers or qualifiers".
TikTok's weight management and body image policy is stricter on the framing. Ad content and landing pages "must not explicitly shame users about their bodies, suggest there is an ideal body type", and must not make claims that "looking a certain way will make individuals more desirable, successful, happy, or popular", nor assert that body appearance determines confidence, self-esteem or emotional wellbeing. TikTok also requires that weight loss or muscle gain claims be restricted to audiences aged 18 and over.
So "before and after" is not automatically banned on Meta. The copy wrapped around it is what gets the ad pulled. Use the before-and-after angle in the master prompt for workflows and outcomes, a messy spreadsheet becoming a clean one, and keep it away from bodies unless you have read both policies in full.
Health and finance restrictions
These two verticals carry extra structural requirements that no copy generator can satisfy for you.
On Meta, financial and insurance ads cannot promote payday loans, paycheck advances, short-term loans of 90 days or less, or binary options. Ads must not request personally identifiable or financial information such as bank account, card or routing numbers. Targeting some countries with a financial product or service ad requires a licence from the relevant regulatory authority. Meta also requires that any United States advertiser, or advertiser targeting the United States, Canada or certain parts of Europe, running financial products and services, housing or employment ads must self-identify as a Special Ad Category and run those ads with approved targeting options.
On Google, financial products and services ads must prominently display the business's physical address and all associated fees, "clearly and immediately visible without needing to click or hover over anything". Personal loan ads must disclose the minimum and maximum repayment period, the maximum APR including interest plus fees, and a representative example of the total cost of the loan. Debt services, complex speculative products such as CFDs and forex, and prediction markets each require Google certification.
On the health side, Meta requires that ads promoting dietary, health, weight loss or weight gain products and services, and ads for cosmetic products, procedures or surgeries, be targeted to people at least 18 years old.
What this prompt will not do for you
It will not guarantee approval. Nothing does, and any tool that says otherwise is selling you something. Ad review is partly automated, partly human, inconsistent across markets, and occasionally just wrong.
It will not count characters perfectly. See the verification section. The count is a filter, the platform is the judge.
It will not know your offer. {{PROOF}} is the field people skip, and it is the one that decides whether the output is usable copy or plausible-sounding filler. If you paste in "we help teams work better" and nothing else, you will get back six variants of "we help teams work better".
And it will not replace testing. A generator gives you a wider set of angles to test faster. Which one wins is a question for your account, not your model, and it is worth reading how to A/B test prompts the way you test ads before you conclude that a variant failed on merit.
Where Prompt Architects fits is narrower than the tools ranking above this page will tell you. We are not an ad platform and we do not check your copy against Meta's policy. What we do is turn a rough instruction into a structured one, with role, task, format, constraints and tone, in under two seconds, then keep it in a prompt library where the platform blocks above become reusable templates and {{PRODUCT}}, {{PROOF}} and {{BUDGET}} become Global Variables you fill once per campaign instead of once per prompt. There is a free plan, so you can test that claim without a card. Current pricing is on the pricing page.
If your brand voice is the part that keeps drifting between variants, the brand-voice context guide covers how to make that persistent rather than pasted.
Sources for every figure on this page
Character limits, all accessed 26 August 2026:
- Meta Ads Guide, Facebook feed single image:
facebook.com/business/ads-guide/image/facebook-feed/traffic - Meta Ads Guide, Instagram feed single image and Instagram Reels:
facebook.com/business/ads-guide/update/image/instagram-feed/link-clicksand.../update/video/instagram-reels/link-clicks - Meta Ads Guide, Facebook feed carousel:
facebook.com/business/ads-guide/update/carousel/facebook-feed/link-clicks - Google Ads Help, About responsive search ads:
support.google.com/google-ads/answer/7684791 - Google Ads Help, Search campaigns specs and format requirements:
support.google.com/google-ads/answer/17092074 - Google Ads Help, About text assets for Performance Max campaigns:
support.google.com/google-ads/answer/14528373 - TikTok Ads Manager, Global App Bundle image ad specifications:
ads.tiktok.com/help/article/image-ads-specification - TikTok Ads Manager, reservation in-feed ad specifications:
ads.tiktok.com/help/article/tiktok-reservation-in-feed-ads-reach-frequency - TikTok Ads Manager, auction in-feed ad specifications:
ads.tiktok.com/help/article/video-ads-specifications
Policy, all accessed 26 August 2026:
- Meta, Privacy Violations and Personal Attributes:
transparency.meta.com/policies/ad-standards/objectionable-content/privacy-violations-personal-attributes - Meta, Health and Wellness:
transparency.meta.com/policies/ad-standards/restricted-goods-services/health-wellness/ - Meta, Financial and Insurance Products and Services:
transparency.meta.com/policies/ad-standards/restricted-goods-services/financial-services/ - Meta, Unacceptable Business Practices:
transparency.meta.com/policies/ad-standards/fraud-scams/unacceptable-business-practices/ - Meta, Discriminatory Practices:
transparency.meta.com/policies/ad-standards/unacceptable-content/discriminatory-practices/ - Google Ads, Misrepresentation:
support.google.com/adspolicy/answer/6020955 - Google Ads, Editorial:
support.google.com/adspolicy/answer/6021546 - Google Ads, Personalized advertising:
support.google.com/adspolicy/answer/143465 - Google Ads, Financial products and services:
support.google.com/adspolicy/answer/2464998 - TikTok, Ad Format and Functionality:
ads.tiktok.com/help/article/tiktok-ads-policy-ad-format-and-functionality - TikTok, Weight Management:
ads.tiktok.com/help/article/tiktok-ads-policy-weight-management
Stop rewriting prompts. Start shipping.
Works with ChatGPT, Claude, Gemini, Grok, Midjourney, Ideogram, Veo3 & Kling. 5.0★ on the Chrome Web Store.
Create An Account