paid ads · playbook

Ad copy that passes review: specs and testing for Google, LinkedIn and Reddit Ads

Current text limits, editorial rules and a testing plan for B2B ad copy on Google, LinkedIn and Reddit, plus a pre-launch checklist.

Updated
Read time
17 min read
Sources
Specs and policies checked against Google Ads Help, the Google Ads API reference, LinkedIn Marketing Solutions help and ads policy, and Reddit Ads help, October 2026

Key takeaways

  • Write to the recommended length, not the hard maximum: LinkedIn and Reddit both truncate long text well before their limits.
  • On Google, fill all 15 headline and 4 description slots with distinct messages, and pin only what legal or brand rules require.
  • Ad Strength isn't used in Ad Rank or Quality Score. Use it as a checklist, not as a performance goal.
  • Most rejections come from editorial and claim rules: odd capitalization, gimmicky punctuation, competitor trademarks, and claims you can't back up.
  • B2B accounts rarely get the volume for clean copy tests, so test big differences in angle, one variable at a time, and judge on pipeline, not just CTR.

Good B2B ad copy fails in two predictable ways: it gets truncated or rejected because it ignored a platform rule, or it gets approved but says the same thing as every other ad in the auction. This guide covers both problems. First come the current text specs for Google, LinkedIn and Reddit Ads. Then a way to build distinct angles, how to adapt tone to each platform, the policy rules that cause most rejections, and a testing approach that fits B2B volumes. It ends with a checklist to run before launch.

Specs change often. Every number below was checked against the platform’s own documentation in October 2026. Where a number couldn’t be confirmed from an official source, the table says “check current spec”. Confirm against the ad builder before you build final assets.

Responsive Search Ads

Responsive Search Ads (RSAs) are the default Search ad format. You supply a pool of headlines and descriptions, and Google assembles combinations for each auction.

AssetCountCharacter limit
HeadlinesMinimum 3, up to 1530 each
DescriptionsMinimum 2, up to 490 each
Display path2 fields15 each

Characters in double-width languages (Chinese, Japanese, Korean) count as 2 toward these limits.

Pinning. You can pin a headline or description to a position. Pins to Headline 1, Headline 2 or Description 1 always show. Pins to Headline 3 or Description 2 are not guaranteed to show. Every pin cuts the number of combinations Google can build, and Google says pinning isn’t recommended for most advertisers and can lower Ad Strength. If you must pin a position, pin 2 or 3 interchangeable options to it instead of a single line.

Ad Strength is not a ranking factor. Google states that Ad Strength isn’t used to calculate Ad Rank, Quality Score or auction wins, and doesn’t directly affect serving eligibility. The rating (Incomplete, Poor, Average, Good, Excellent) mostly measures how well your assets match your keywords and how many distinct combinations they allow. Google recommends at least 2 RSAs rated Good or Excellent per ad group. Use the rating as a completeness check, and never trade a compliant, specific headline for a vague one to raise it.

Assets that extend Search ads

AssetLimitNotes
Sitelink text25 charactersUp to 6 sitelinks on desktop and 8 on mobile for Search and Performance Max; a minimum of 2 must be eligible to show
Sitelink descriptions2 lines, 35 characters eachOptional, but if you set one line you must set both
Callouts25 characters eachUp to 10 can show, depending on space and device
Structured snippet values25 characters each, 3 to 10 values per headerHeaders come from a fixed list (Brands, Courses, Models, Service catalog, Types and others); Google recommends at least 4 values

Callouts set at a lower level override those above them: ad group callouts stop campaign callouts from serving in that ad group. Sitelinks behave differently. By default an ad group uses its campaign and account sitelinks, adding ad group sitelinks changes that default, and higher-level sitelinks can still serve alongside them. Check what each ad group actually inherits.

Performance Max and Demand Gen text assets

AssetPerformance MaxDemand Gen
Headlines3 to 15, 30 characters each; include at least one of 15 characters or fewer1 to 5, 40 characters each; at least one must be 30 characters or fewer to serve on Display
Long headlines1 to 5, 90 characters eachNot a Demand Gen field
Descriptions2 to 5, 90 characters each1 to 5, 90 characters each
Business name25 characters; must match your domain or verified business name25 characters
Call to action1, automated by default or picked from a listAutomated, 1 per ad

The business name field doesn’t allow promotional text. “Acme Analytics” is fine. “Acme, #1 Analytics Platform” is not.

LinkedIn Ads text specs

LinkedIn renamed its hierarchy in late 2025: campaign groups are now campaigns, and the old campaigns are now ad sets. The copy specs didn’t change, but A/B tests now compare ad sets.

Single Image Ads

FieldRecommended (to avoid truncation)Hard maximum
Introductory text150 characters3,000 characters (up to 10 emojis)
Headline70 characters200 characters
Description100 characters300 characters; may vary on the Audience Network
Ad name (internal)—255 characters

The recommended lengths are the ones that matter. In the feed, members see about the first 150 characters of intro text before “see more”. Put the hook and the offer up front, and treat the rest as optional reading.

Thought Leader Ads

Thought Leader Ads promote an organic post from a person, usually an employee or executive, instead of a company page post. The constraints shape how you write:

  • You can’t add a headline or intro text. Any edit has to come from the post’s original author.
  • There are no CTA buttons and no ad-level URL. Links in the original post stay clickable after you sponsor it.
  • Posts with multiple images, polls or documents can’t be promoted. Single-image and video posts can.

So the copy work happens before the post goes live. Write and approve the post as if it were already an ad, because once it is promoted you can’t fix it at the ad level. The Thought Leader Ads guide covers this format in depth.

Message Ads and Conversation Ads

FieldMessage AdsConversation Ads
Subject60 characters, including personalization macros—
Message text1,500 characters (up to 10 emojis)8,000 characters per message (up to 10 emojis)
CTA buttons1 button, 20 characters; a “Not Interested” button is added automaticallyUp to 5 per message, 25 characters each; “Not Interested” is one of the 5 on the intro message
Custom footer / termsUp to 20,000 charactersUp to 20,000 characters
Banner (desktop only)300×250, JPG/PNG/non-animated GIF, 2 MB max300×250, JPG/PNG, 2 MB max

Both formats arrive in the member’s inbox, so write them like a short note from a named person. Don’t paste in the copy from a feed ad. Keep the first message short, since the limit is far longer than anyone will read.

Reddit Ads text specs

FieldSpec
Headline (post title)Up to 300 characters; keep it under 100, or under 80 to avoid mobile truncation
CTA buttonPicked from a fixed list (Learn More, Sign Up, Download and others), or no button; check current options in Ads Manager
CommentsOff by default; turn on “Allow comments” when creating the post, and lock or unlock comments later from the post’s mod tools
Lead formsOnsite lead forms were retired on September 21, 2026; lead generation now sends people to a form on your site

The headline does most of the work on Reddit because it reads as a post title. Comments are a copy decision too. If you turn them on, the thread becomes part of the ad, and replies that challenge your claims are shown right below them. Plan who answers, and how fast, before you enable comments. The Reddit Ads guide covers community management on ads.

Message pillars and angles for B2B

Platform specs set how much you can write. Pillars and angles set what’s worth writing. Most B2B ads underperform because each asset makes the same vague benefit claim in slightly different words. Start with three or four message pillars: the few things that are true, important to the buyer, and hard for competitors to claim. Then write each pillar through several angles:

  • Problem. Name the specific pain in the buyer’s words. “Still reconciling pipeline numbers in spreadsheets?” beats “Streamline your workflow.”
  • Outcome. State the result, with a number if you can support it: “Close the books in 3 days, not 10.”
  • Proof. Use a customer count, a named logo (with permission), a review-site rating, or a certification. Proof is what makes the other angles believable.
  • Objection. Answer the reason people don’t buy: “Live in a week, no engineering ticket” or “Works with your existing CRM.”
  • Comparison. Position against the status quo or a category (“Unlike legacy BI…”). Comparing against a named competitor raises the trademark and substantiation issues covered below.

A practical grid is 3–4 pillars × 5 angles. That’s 15–20 candidate lines, enough to fill an RSA pool and plan LinkedIn and Reddit variants from one source. Add a CTA line that sets expectations, such as “Get the 2026 benchmark report” or “See a 20-minute demo”, so the click is pre-qualified.

RSA headline mix and when to pin

Google combines headlines freely, so every headline has to make sense next to any other. A balanced pool of 15 might look like this:

  • 3–4 keyword or intent headlines that echo the ad group’s core query. Ad Strength and relevance both reward this.
  • 3 outcome or benefit headlines.
  • 2–3 proof headlines (numbers, ratings, customer counts).
  • 2 objection-handling headlines (pricing model, setup time, integrations).
  • 2 CTA or offer headlines.
  • 1 brand headline.

Use descriptions (up to 4 × 90) to expand on one pillar each, not to repeat the headlines. Avoid near-duplicates. Ten headlines that all say “fast” give Google nothing to choose between.

When to pin: when legal requires a disclaimer in a fixed spot, when the brand name must always appear, or in a regulated category where certain lines must never appear without others. If you pin Headline 1 for the brand, put 2–3 brand variants on that position. Otherwise, leave it unpinned and let the system learn.

Writing for each platform

Google Search is answer-first. The searcher has already stated their intent, so mirror the query, give the answer, and give a reason to choose you. Headlines are short, so cut adjectives before you cut specifics.

LinkedIn is professional but still a social feed. The first line of the intro text has to stop the scroll on its own. Lead with the role-specific problem or a concrete number, and keep the claim to one idea. The headline sits under the image, so use it to restate the offer (“Free guide: …”, “Webinar: …”). Jargon goes over better than on other platforms, but hype doesn’t, and LinkedIn’s policy bars excessive emojis and capitalization anyway.

Reddit is native or nothing. Headlines that read like a peer’s post outperform polished marketing lines: plain language, specific, a little self-aware, and no exclamation marks. “We built a cheaper way to run load tests. Here’s the benchmark” fits Reddit. “Revolutionize Your Testing Today!” doesn’t. Match the vocabulary of the communities you target. If you can’t write a headline that a member of that community might plausibly have posted, rethink the targeting or the offer.

Policy pitfalls that cause rejections

Editorial rules (Google is the strictest)

Google’s editorial policy disallows:

  • Capitalization that isn’t used correctly or for its intended purpose (“FREE TRIAL”, “SaaS PLATFORM”).
  • Punctuation or symbols that are gimmicky, unsupported or not used correctly. Excessive or decorative punctuation is a common cause.
  • Gimmicky or unnecessary repetition of words or phrases, including repetition inside a single asset.
  • Missing, extra or gimmicky spacing.
  • Phone numbers in ad text. Use a call asset instead.
  • Ads or destinations that don’t name the product, service or business being promoted.

LinkedIn’s ads policy is similar: no incorrect spelling, grammar or punctuation, excessive emojis, capitalization, or unrelated hashtags.

Editorial disapprovals are the easiest to fix and the most annoying to wait on. Lint for them before you submit.

Trademarks

The platforms treat trademarks differently:

  • Google doesn’t restrict trademarks as keywords. If a trademark owner files a complaint, it can restrict their trademark in ad text from a direct competitor, or in any ad that uses it in a confusing or misleading way. Descriptive use of a word in its ordinary meaning is allowed. Resellers and informational sites have specific exceptions.
  • LinkedIn says ads must not use third-party trademarks without the owner’s express permission, and must not use marks or company names in a way that could confuse users.

The safe default for comparison ads is to compare against a category or approach, not a named competitor. Save named comparisons for your landing page, where you have room to substantiate them, and get legal sign-off.

Superlatives and claims

LinkedIn requires that “any claims in your ad must have factual support,” and bars deceptive or inaccurate claims about competitors. Google’s Misrepresentation policy covers inaccurate claims, improbable results presented as typical, and leaving out material information. In practice, “#1”, “best”, “fastest” or “guaranteed” without a cited source on the landing page invites disapproval or a complaint. If you have a ranking or award, name its source and date (“Rated 4.8 on G2, 2026”), and make sure the landing page shows it.

Personal-attribute and targeting language

Don’t write copy that implies you know something personal about the reader, especially anything in a sensitive category. Google won’t personalize ads based on sensitive categories such as health or sexual orientation. LinkedIn’s policy prohibits discrimination based on personal attributes such as age, gender, disability, religion or ethnicity, and adds requirements for employment, housing, education and credit ads. B2B rarely touches sensitive categories, but “Are you a struggling founder over 50?” style copy causes problems on every platform. Address the role or the situation (“For finance teams closing month-end”), not personal traits.

Misleading by mismatch

All three platforms penalize a gap between the ad and the destination. If the ad says “free”, the landing page can’t open with a paywall. If it says “2026 report”, the report has to be from 2026. Since Reddit retired onsite lead forms, every Reddit lead ad lands on your own page, so the promise in the headline and the first screen of the page need to match.

Testing ad copy on B2B volumes

What to test

Test the difference between angles before you test wording. A test of a problem-led line against a proof-led line will reach a clear result faster than one that swaps a single word. In rough order of impact:

  1. Offer (demo vs. guide vs. benchmark vs. tool).
  2. Angle (problem, outcome, proof, objection, comparison).
  3. Hook: the first line on LinkedIn, the headline on Reddit, Headline 1 candidates on Google.
  4. CTA wording and button choice.
  5. Smaller wording and formatting changes.

Change one variable at a time. On LinkedIn, the built-in A/B test runs two ad sets that share every setting except the variable you choose (ad, audience, placement or optimization). Tests must run at least 2 weeks and at most 90 days, and can’t start the day you create them. On Google, ad variations let you test headline or description changes across RSAs, splitting traffic by cookie so each user tends to see only one version.

Sample size realism

Most B2B accounts can’t reach statistical significance on conversions within a normal test window. A rough rule: to tell apart two conversion rates that differ by a relative 20–30%, you need hundreds of conversions per variant, not dozens. If a variant gets 15 leads a month, a conversion test will take quarters. A few ways to cope:

  • Test on a higher-volume proxy (CTR, landing-page engagement, form starts), then confirm the winner on pipeline over a longer window.
  • Pool traffic into fewer, larger ad sets and ad groups before you split.
  • Make the variants bigger. A large gap between angles shows up with less data than a small wording change.
  • Judge on qualified outcomes. An angle that doubles CTR and halves sales-accepted leads is the losing variant.
  • Write down the decision rule (metric, minimum run time, minimum volume) before you start, so the result isn’t argued after the fact.

On Google, also watch per-asset performance labels in RSA reporting. A headline that stays rated “Low” after it has had enough impressions is the first one to replace.

Refresh triggers

Creative fatigue is real on LinkedIn and Reddit, where the same small audience sees your ads over and over. The thresholds below are rules of thumb, not platform rules. Refresh copy when:

  • CTR falls steadily over 2–3 weeks while targeting and bids stay the same.
  • Frequency keeps rising in a small, fixed audience (common in ABM campaigns) and engagement drops.
  • Cost per qualified lead drifts up without a matching change in auction pressure.
  • On Reddit, comment sentiment turns, or the same objection keeps coming up. Rewrite to answer it.
  • The offer itself goes stale: last year’s report, a past event, an old pricing claim.

Rotate in a new angle, not a rewording of the tired one, and keep the previous winner running as a control.

Pre-launch checklist

Specs

  • Every field within its hard limit, and LinkedIn intro text, LinkedIn headlines and Reddit headlines within their recommended lengths.
  • Google RSA: 15 distinct headlines and 4 descriptions where possible; display paths filled; Ad Strength checked, but not chased.
  • Sitelinks (25 + 2 × 35), callouts (25) and structured snippets (3–10 values × 25) set at the right level, without accidentally overriding inherited ones.
  • PMax: at least one headline of 15 characters or fewer. Demand Gen: at least one headline of 30 characters or fewer.
  • Business name matches the domain or verified name, with no promotional text.

Copy quality

  • Each asset maps to a pillar and an angle, with no near-duplicates in the RSA pool.
  • The first line works alone on LinkedIn; the headline reads like a native post on Reddit.
  • CTA states what happens after the click.
  • Pins are used only where legal or brand rules require them, with 2–3 options per pinned position.

Policy

  • No gimmicky capitalization, punctuation, spacing or repetition, and no phone numbers in Google ad text.
  • No competitor trademarks in ad text without permission and legal review.
  • Every superlative, number and comparison is backed by a source shown on the landing page.
  • No copy that implies knowledge of the reader’s personal attributes.
  • Ad promise matches the landing page (offer, price, date, format).

Operations

  • Reddit comments decision made, with an owner and response time if comments are on.
  • LinkedIn Thought Leader posts are final, since they can’t be edited at the ad level.
  • Test plan written: variable, metric, minimum run time, decision rule.
  • Refresh review on the calendar (every 2–3 weeks for LinkedIn and Reddit).

Sources