返回 Skills 目錄
mbfinotti/advertising-skills已通過檢查

SKILL DETAIL

conversational-ad-copy

mbfinotti/advertising-skills/conversational-ad-copy

Adapt ad messaging for conversational and AI-answer ad surfaces - the one-shot, context-aware ad occupying a single response slot inside an AI assistant reply or answer-engine result, where the copy is either rendered verbatim or rewritten by a model from the landing page and feed. Covers recommendation register, self-contained slot copy, situation-description targeting, grounding and disclosure discipline, and reading performance without creative-level reporting. Use whenever the user mentions ads inside ChatGPT or another AI assistant, sponsored answers, in-assistant ads, response-slot ads, or one-shot ad copy - even if they never say 'conversational ads'. Do NOT use for feed or search ad copy - use mbfinotti/advertising-skills@ad-copy-variants instead.

安裝量 · 854查看來源

Installation

npx skills add https://github.com/mbfinotti/advertising-skills --skill conversational-ad-copy

技能檔案

SKILL.md

最近同步 · 2026年10月23日

evals/evals.json›
{
  "skill_name": "conversational-ad-copy",
  "evals": [
    {
      "id": 1,
      "prompt": "We sell Fernhollow, a B2B invoice-reconciliation tool. Our Shopping and Performance Max campaigns just became eligible to show inside Google's AI-generated answer summaries, and our account rep confirmed the ad text there is assembled by the model from our site and feed, not taken from our existing ads. Our landing page hero currently reads: 'Fernhollow is the revolutionary, next-generation platform that transforms finance operations for forward-thinking teams.' The one solid number we have is a 2025 customer study of 32 mid-market finance teams that cut month-end reconciliation from 11 hours to 4. Please write 6 punchy new headlines and 4 descriptions so we look great in those AI answers.",
      "expected_output": "A response that establishes the placement as model-generated, declines the headline exercise as the fix, and delivers rewritten source material instead: a before/after landing-page passage rewrite carrying the sourced study figure, feed and structured-data next steps, honest scoping of the reviews asset, ownership routing, and an adjacency caveat.",
      "files": [],
      "expectations": [
        "The response identifies the placement as model-generated, where the model synthesises the ad text from the landing page and feed rather than rendering advertiser-written copy.",
        "The response does not deliver the requested 6 headlines and 4 descriptions as the solution, and states that editing headlines changes nothing on this surface.",
        "The core deliverable is rewritten source material - landing-page passages and feed fields - shown as before/after, not ad copy.",
        "Landing-page passages are worked first and named as the highest-efficiency asset among the editable ones.",
        "The rewritten hero passage names Fernhollow in its first sentence.",
        "The rewritten passage leads with the claim and keeps one idea per short block.",
        "The 11-hours-to-4 reconciliation figure is carried into the rewrite, attributed to the 2025 study of 32 finance teams and dated.",
        "The superlatives from the old hero ('revolutionary', 'next-generation') are removed and no new unsupported superlative is introduced.",
        "No statistic, customer count, or testimonial beyond the supplied study appears in any rewritten passage.",
        "Reviews are named as the asset with the highest trust weight and no direct edit path, scoped as a quarter-scale programme with nothing expected inside this flight.",
        "Structured data is addressed as a dev-queue ticket that pins facts the model would otherwise infer.",
        "The response flags that the landing-page and feed rewrites may belong to whoever owns the site and feed, and routes or asks about ownership rather than assuming the user can ship them.",
        "The response states that adjacency - what the model says beside the ad, including competitors it cites - is not controllable through copy, and that monitoring is the control for that risk."
      ]
    },
    {
      "id": 2,
      "prompt": "We got into the sponsored-card beta inside a major AI assistant for Brightgale, our project-management app. Our ads manager shows: Title max 50 characters, Copy max 100 characters, no CTA field, plus a plain-language targeting description field capped at 280 characters. Our best Google Search ad is: 'The #1 Project Management Tool | 30% Off - Ends Tonight | Try Brightgale Free Today'. Just trim it down to fit the card fields. For evidence we have a 2026 onboarding survey of 210 customers where teams shipped their first project plan in under 20 minutes; the 30% discount is real but runs until March 31, 2026.",
      "expected_output": "A slot package that rewrites from the reader's situation instead of trimming the search line, drops the superlative and the fake countdown, writes Persona + Intent + Scope targeting prose, folds the ask into the copy line, shows character counts against the pasted limits, grounds every claim, and runs the 10-check quotability gate.",
      "files": [],
      "expectations": [
        "The response declines to trim the search line and rewrites from the reader's situation instead, stating why a trim fails on this surface.",
        "'#1 Project Management Tool' is flagged as an unsupported superlative and appears in no shipped line.",
        "The 'Ends Tonight' countdown is removed as manufactured urgency; if the offer is used at all, it carries its real March 31, 2026 end date.",
        "Title and copy are delivered within the pasted 50 and 100 character limits, with character counts shown for each line.",
        "The shipped copy line names Brightgale explicitly, with no pronoun carrying the product reference.",
        "The slot copy carries exactly one idea; the discount and the 20-minute onboarding claim are not bundled into a single line.",
        "The copy line leads with the claim, with support after.",
        "Because no CTA field exists, the ask is folded into the copy line and matched to the inferred conversation stage.",
        "The targeting field is written as Persona + Intent + Scope situation prose - who the person is, what decision they are making, what narrows it to the category - not a keyword string, within 280 characters.",
        "One or two alternate situation descriptions are supplied for delivery diagnosis.",
        "The under-20-minutes claim is traced to the 2026 survey of 210 customers in a grounding table or equivalent claim-to-source mapping.",
        "A quotability gate of 10 explicit checks is run on the shipped line with a stated pass bar of 9 out of 10.",
        "No line is silently truncated to fit: any over-limit draft is shown with its count alongside a trimmed alternative for the user to choose."
      ]
    },
    {
      "id": 3,
      "prompt": "I'm launching an in-assistant sponsored card for Quillhatch, our contract-review tool for freelancers. I don't have the ads manager open right now - just use the standard character limits everyone publishes for these assistant ads. And to make it credible, add something like 'trusted by 20,000 freelancers' and a short customer quote; we don't have exact numbers but the product is definitely popular. What we do have: a support-ticket analysis from July 2026 showing customers flag risky contract clauses in a median 6 minutes.",
      "expected_output": "A response that refuses to invent the popularity figure and the quote, labels the unsupported claim UNSOURCED and holds it, builds copy on the supplied 6-minute median with dates and a review date, and asks for the placement's current limits from the user's ads manager instead of reciting numbers from memory.",
      "files": [],
      "expectations": [
        "The response asks the user for the placement's current field limits from their own ads manager rather than asserting character limits from memory, or explicitly marks any cited limit as stale and requiring verification before use.",
        "The response refuses to write 'trusted by 20,000 freelancers' because no source supports it.",
        "No customer quote or testimonial is invented anywhere in the output.",
        "The unsupported popularity claim is labelled UNSOURCED and held - it is not softened into a vaguer substitute such as 'thousands of freelancers' or 'a popular choice'.",
        "The shipped copy is built on the supplied 6-minute median from the July 2026 support-ticket analysis.",
        "The 6-minute claim is dated and assigned a review date.",
        "A grounding table or claim-to-source mapping covers every claim in the shipped copy.",
        "The copy uses the specific figure rather than adjectives like 'fast' or 'powerful'.",
        "The copy contains no hedged language such as 'may help' or 'could potentially'.",
        "The copy names Quillhatch and makes full sense lifted out of the conversation thread.",
        "The line reads as a recommendation, with no interruption pattern or urgency injected.",
        "A quotability gate result is included showing pass/fail per check for the shipped line."
      ]
    },
    {
      "id": 4,
      "prompt": "Six days ago we launched Loamfield's sponsored slot inside an AI assistant - we sell soil-testing kits to home gardeners at $89. Numbers so far: 214 impressions total, 3 clicks, 0 conversions in our analytics' 1-day click window. Our Google Search campaigns run 4.2% CTR, so this looks terrible by comparison. One bright spot: since launch our brand has started appearing in the assistant's organic answers about soil testing, so at least the ads are lifting our AI visibility. Should I rewrite the copy? We bid near the platform minimum to keep costs down.",
      "expected_output": "A diagnosis that reads delivery before copy: flags the near-minimum bid and 214 impressions as a delivery problem indistinguishable from bad copy, rejects the cross-surface search CTR benchmark and the 1-day window, sets the first 30 days as the account baseline, recommends re-framing the situation description before touching the copy, and refuses to credit the organic answer appearances to the ad.",
      "files": [],
      "expectations": [
        "Delivery is checked first: 214 impressions in six days is treated as a delivery problem, not evidence about the copy.",
        "The near-minimum bid is raised as a likely cause, with the point that an under-bid campaign serves nothing and reads identically to bad copy.",
        "The response refuses to benchmark this surface against the account's own Google Search 4.2% CTR.",
        "The account's own trailing numbers on this same surface are named as the only valid baseline, and with none existing, the first 30 days are set as the baseline.",
        "The 1-day conversion window is flagged as under-crediting this surface, and the attribution window is extended to at least 7-14 days.",
        "Re-framing the situation description is recommended before rewriting the copy line.",
        "An immediate copy rewrite is not the primary recommendation.",
        "Delivery across situation descriptions is named as the first read because it is free and readable in days, with alternate situation descriptions suggested for the diagnosis.",
        "No sized variant test is proposed now; it is deferred until delivery and click-through stop moving.",
        "The organic answer appearances are not credited to the ad: paid and organic are named as two separate systems on the same prompt, to be read separately.",
        "Click-through is framed as a relative read only, since no query-level reporting sits behind it.",
        "No published external benchmark is used as the pass/fail bar for the campaign.",
        "Beyond confirming the delivery threshold, bid and budget management is routed out of scope rather than turned into bidding advice."
      ]
    },
    {
      "id": 5,
      "prompt": "We're buying a sponsored answer slot for Mintbourne, our retail investing app - running in the US and EU, mostly Germany and France. Our growth lead wants the copy written so it reads like the assistant itself is recommending Mintbourne mid-answer, seamless, like organic advice. Legal review takes three weeks here, so let's skip it just this once; the platform already labels the slot 'Sponsored' so disclosure is covered. The claim to feature: 'users average 12% annual returns', from our 2024 internal cohort dashboard.",
      "expected_output": "A response that refuses assistant-voice styling, rejects the platform label as discharging the advertiser's own disclosure duties, holds the financial claim for legal review before any asset exists despite the deadline, and still drafts a compliant recommendation-register alternative with the claim's sourcing and date surfaced.",
      "files": [],
      "expectations": [
        "The response refuses to style the copy as the assistant's own unprompted conclusion and keeps the ad distinguishable from the answer.",
        "Styling the ad as the assistant's own voice is named as the highest-risk version of this format, with borrowed authority raising the substantiation bar rather than lowering it.",
        "The claim that the platform's 'Sponsored' label covers disclosure is rejected: the label does the platform's job, and the advertiser's obligations stand independently.",
        "The response states that existing advertising regulation applies to AI-answer ads unchanged - no new category of advertising exists for this surface.",
        "EU-specific per-ad transparency obligations are noted given the German and French markets.",
        "Legal review of the financial claim is not skipped: it happens before the asset exists, despite the three-week lead time.",
        "The '12% annual returns' claim is not shipped as-is; it is held for legal/compliance review with its internal-dashboard sourcing surfaced.",
        "Any use of the returns figure is dated to the 2024 cohort with a review date, never presented as a current or ongoing result.",
        "A compliant alternative copy line is still drafted in the recommendation register rather than the response ending at refusal.",
        "The drafted line names Mintbourne, carries one idea, and makes sense out of the thread.",
        "No manufactured urgency is added to the drafted line.",
        "A quotability gate result is included for the drafted line."
      ]
    },
    {
      "id": 6,
      "prompt": "Sablewood sells compliance-audit software to hospital networks - ACV around $120k, deal cycles run roughly a quarter, and we get about 8 demo requests a month across all channels. We just got an in-assistant sponsored slot. My plan: launch 6 copy variants at once, pick the winner on conversions after 4 weeks, and write the copy to close the deal right there in the chat - something like 'Book a demo today, limited onboarding slots for Q4'. Evidence available: a 2026 audit-cycle study across 14 hospital networks showing audit prep cut from 6 weeks to 9 days.",
      "expected_output": "A response that kills the 6-variant conversion-judged test on volume grounds, resets expectations to delivery, relative click-through, and quarterly lead quality, strips the manufactured scarcity, and ships one situation-targeted line carrying the quantified study outcome a champion can take into an internal meeting.",
      "files": [],
      "expectations": [
        "The response states that roughly 8 conversions a month is far too low for copy-level statistical significance inside 4 weeks - that read takes months at minimum.",
        "The pick-a-winner-on-conversions plan is replaced with the reads that survive low volume: delivery, click-through against the account's own trailing numbers, and downstream lead quality.",
        "Lead quality is framed as a quarterly read, matching the quarterly deal cycle.",
        "The 6-variant launch is cut to at most 2-3 variants, and any test is sized before money moves, with the matrix routed to a variant or test-plan exercise rather than run ad hoc in this slot.",
        "The 4-week deadline is named as deleting the sized test outright rather than shrinking it.",
        "'Limited onboarding slots for Q4' is removed as manufactured urgency, or required to be evidenced as a genuine dated constraint before use.",
        "Expectations are reset: the slot opens a research cycle for a $120k B2B purchase, it does not close a deal in the chat.",
        "The shipped line hands the reader a quantified outcome to carry into an internal case - the 6-weeks-to-9-days figure.",
        "That figure is attributed to the 2026 study across 14 hospital networks and dated in a grounding table or claim-to-source mapping.",
        "The slot carries a single angle anchored to the supplied study, one idea only.",
        "The situation description is written as Persona + Intent + Scope prose about a hospital-network compliance evaluator, not a keyword string.",
        "The ask is matched to the conversation stage rather than a hard same-chat close."
      ]
    },
    {
      "id": 7,
      "prompt": "Thornquist Analytics sells competitor-price-monitoring software to e-commerce brands. We run on an AI shopping placement where the ad text is generated from our product feed and site. I want this investment to compound - next year's campaigns should benefit, not just this flight. Constraints: our website is run by an external agency on a frozen quarterly release cycle so we can't touch it, we have zero developer availability this quarter, but I own the product feed myself. To juice what the model reads, I'm going to email customers a $25 voucher for every 5-star review this week. Our current feed description: 'Best-in-class AI-powered price intelligence for winners.' The price field says $149/mo but we raised it to $179 in June.",
      "expected_output": "A re-ranked source-rewrite plan: the incentivised-review scheme stopped for endorsement-rule review before it runs, reviews and structured data promoted by the compounding mandate but honestly scoped, the frozen site and dev-blocked structured data deleted from the menu and routed to their owners by name, and the user-owned feed rewritten first with the corrected $179 price and the superlative stripped.",
      "files": [],
      "expectations": [
        "The $25-voucher-for-5-star-reviews scheme is flagged under endorsement and review-solicitation rules and sent for compliance review before it runs, not after - it is not endorsed as written.",
        "The response objects to paying specifically for 5-star reviews, not merely to soliciting reviews.",
        "Reviews are scoped honestly: a solicitation programme is a quarter-scale job that pays into future campaigns, and nothing from it lands inside this flight.",
        "The compounding mandate re-ranks the menu, with structured data and reviews named as the rows it promotes.",
        "The frozen agency-run landing page is deleted from the menu rather than demoted, converted into a routed request to the agency, and named as deleted in the package.",
        "Structured data is likewise deleted and routed given zero developer availability, named with its constraint.",
        "The response states which interview answer or constraint moved which option in the ordering.",
        "The feed is identified as the executable asset the user owns, and on a feed-driven shopping placement the feed is treated as the entire ad, first in the order.",
        "The stale $149 price is corrected to the current $179, with the point that the price field is what the surface quotes.",
        "'Best-in-class AI-powered price intelligence for winners' is rewritten: product named, unsupported superlative removed, natural problem-solving language describing what it does for whom.",
        "The response notes that a malformed feed field drops eligibility entirely rather than degrading performance.",
        "No invented statistics or claims are added to the rewritten feed description; anything unsupported is labelled UNSOURCED and held."
      ]
    }
  ],
  "trigger_queries": [
    { "query": "Write the sponsored card copy for our expense app that shows up inside ChatGPT replies", "should_trigger": true },
    { "query": "We got into an AI assistant's ads beta - how should the copy differ from our search ads?", "should_trigger": true },
    { "query": "Our ad appears inside AI search answers and the model describes our product wrong - fix what it reads", "should_trigger": true },
    { "query": "Need targeting text describing someone mid-conversation about switching payroll providers, for an assistant placement", "should_trigger": true },
    { "query": "One-shot ad slot inside an assistant's reply - write the title and copy line", "should_trigger": true },
    { "query": "How do I write an ad that doesn't feel like an interruption when it appears in a chatbot's answer?", "should_trigger": true },
    { "query": "Adapt our best-performing Google search ad for the sponsored slot in an AI assistant", "should_trigger": true },
    { "query": "sponsored answers copy help", "should_trigger": true },
    { "query": "What should our product feed say so the AI shopping prompt describes us right?", "should_trigger": true },
    { "query": "The platform rewrites our ad from our landing page - what do I actually edit?", "should_trigger": true },
    { "query": "Write the Context Hints targeting description for our ChatGPT campaign", "should_trigger": true },
    { "query": "in-assistant ad CTR is meh - is it the copy or the situation targeting?", "should_trigger": true },
    { "query": "The assistant's own answer contradicts our sponsored claim in the same reply - rewrite the claim", "should_trigger": true },
    { "query": "How long should copy be for an ad rendered inside an AI answer?", "should_trigger": true },
    { "query": "We're testing an AI-native ad network that generates creative from session context - what do we still control?", "should_trigger": true },
    { "query": "Draft the copy for a sponsored question placement on an answer engine", "should_trigger": true },
    { "query": "Write ad copy for the new conversational placement - the reader is mid-research with the assistant", "should_trigger": true },
    { "query": "My PPC copy reads salesy inside the assistant thread - make it feel like it belongs without being deceptive", "should_trigger": true },
    { "query": "Ads in Google AI Overviews - what copy do we even write?", "should_trigger": true },
    { "query": "Copilot ads: how do I find the copy limits and write inside them?", "should_trigger": true },
    { "query": "Rufus describes our product from stale data - what can we change on our side?", "should_trigger": true },
    { "query": "Perplexity sponsored questions: how much of the answer copy do we control?", "should_trigger": true },
    { "query": "Write one self-contained line for a single response-slot ad", "should_trigger": true },
    { "query": "Our assistant-placement ad got almost no impressions - do I need new copy?", "should_trigger": true },
    { "query": "How do I measure in-assistant ad copy when there's no query-level report?", "should_trigger": true },
    { "query": "Turn this landing page paragraph into something the answer engine will quote for our paid slot", "should_trigger": true },
    { "query": "The sponsored card has no CTA button - where does the ask go?", "should_trigger": true },
    { "query": "conversational ad copy for a B2B audience", "should_trigger": true },
    { "query": "Write copy that still makes sense lifted out of the conversation thread", "should_trigger": true },
    { "query": "Audit our feed description - the model writes our shopping ad text from it", "should_trigger": true },
    { "query": "First campaign inside an AI assistant - what does the deliverable package look like?", "should_trigger": true },
    { "query": "Can I run a flash-sale angle inside an assistant's reply or does that break the format?", "should_trigger": true },
    { "query": "Sponsored response slot, title 50 chars, copy 100 - fill them for our meal-kit box", "should_trigger": true },
    { "query": "Agency keeps saying 'be the best answer, not the highest bid' - what do we rewrite first?", "should_trigger": true },
    { "query": "Users say our chat ad feels like the bot is shilling us - fix the copy", "should_trigger": true },
    { "query": "Give me situation-based targeting language instead of keywords for the assistant placement", "should_trigger": true },
    { "query": "What claims survive when the model paraphrases our ad from our site?", "should_trigger": true },
    { "query": "adapt messaging for paid placements in AI answer engines", "should_trigger": true },
    { "query": "Our assistant-slot conversions land late - the 1-day window shows nothing. Is the copy dead?", "should_trigger": true },
    { "query": "Sponsored slot inside an AI reply for a fintech app - write compliance-safe copy", "should_trigger": true },
    { "query": "Rewrite the pricing-page passages the answer engine keeps quoting in our paid placement", "should_trigger": true },
    { "query": "Our brand's ad shows inside an AI chat next to competitor mentions - what can copy do about it?", "should_trigger": true },
    { "query": "Write 10 headline and CTA variants of our value prop for a Facebook ads split test", "should_trigger": false },
    { "query": "Rewrite our search ad copy to lift quality score", "should_trigger": false },
    { "query": "Score which of these five video ad openings deserves test budget", "should_trigger": false },
    { "query": "Write a UGC-style creator script for our skincare serum with 3 hook options", "should_trigger": false },
    { "query": "Put together the creative brief for our Q4 awareness campaign", "should_trigger": false },
    { "query": "Our ads get clicks but the landing page doesn't convert - audit it", "should_trigger": false },
    { "query": "Should we move budget from Meta into ChatGPT ads or stay put?", "should_trigger": false },
    { "query": "Design the test cells and sample size to compare six new ad creatives", "should_trigger": false },
    { "query": "Google Ads says 400 conversions, HubSpot says 210 - reconcile the gap", "should_trigger": false },
    { "query": "Mine this search terms report and build negative keyword lists", "should_trigger": false },
    { "query": "Is a $310 CAC healthy for our $99/month SaaS?", "should_trigger": false },
    { "query": "Write the welcome message and quick-reply buttons for our website chatbot", "should_trigger": false },
    { "query": "Build a conversational marketing playbook for our sales chatbot", "should_trigger": false },
    { "query": "Our Intercom-style support bot needs better lead-qualification questions", "should_trigger": false },
    { "query": "Set up a click-to-WhatsApp ad and script the conversation after the click", "should_trigger": false },
    { "query": "Write 15 headlines and 4 descriptions for a Google responsive search ad", "should_trigger": false },
    { "query": "Performance Max asset group copy - give me all the text assets", "should_trigger": false },
    { "query": "How do we get ChatGPT to cite our blog in organic answers?", "should_trigger": false },
    { "query": "We don't run ads - optimize our site so AI assistants recommend us organically", "should_trigger": false },
    { "query": "Set up llms.txt so language models describe our product accurately", "should_trigger": false },
    { "query": "Write the invocation phrases for our brand's Alexa skill", "should_trigger": false },
    { "query": "Script a 15-second audio ad for smart speakers", "should_trigger": false },
    { "query": "Reddit conversation placement ads - draft the post-style creative", "should_trigger": false },
    { "query": "Draft an 800-word sponsored article for a trade publication", "should_trigger": false },
    { "query": "Write Quora ads copy for our developer tool", "should_trigger": false },
    { "query": "Copy for a Messenger sponsored message blast to past customers", "should_trigger": false },
    { "query": "Design the message ladder for our cart-abandonment retargeting stages", "should_trigger": false },
    { "query": "Which customer list should seed our lookalike audience?", "should_trigger": false },
    { "query": "Plan paid promotion of our CEO's LinkedIn posts", "should_trigger": false },
    { "query": "ROAS fell 40% in three weeks - find the root cause in the account", "should_trigger": false },
    { "query": "Is this ad fatigued or is rising CPM the real story?", "should_trigger": false },
    { "query": "When has this campaign earned a budget increase and how fast do we ramp?", "should_trigger": false },
    { "query": "Split our $40k monthly budget across search, social, and retargeting", "should_trigger": false },
    { "query": "Target CPA or maximize conversions for the new campaign?", "should_trigger": false },
    { "query": "What's a fair CPM for ChatGPT ads and can we afford the test budget?", "should_trigger": false },
    { "query": "Prompt template to mass-generate 50 search ad headlines with an LLM", "should_trigger": false },
    { "query": "Make our brand voice guide more conversational and friendly", "should_trigger": false },
    { "query": "Rewrite our onboarding emails in a conversational tone", "should_trigger": false },
    { "query": "Should we raise bids so our ads show inside AI Overviews more often?", "should_trigger": false },
    { "query": "Write our listing description for the ChatGPT app store", "should_trigger": false },
    { "query": "Script the demo-booking chat flow on our pricing page", "should_trigger": false },
    { "query": "Analyze our sales-call transcripts for talk ratio and objection handling", "should_trigger": false }
  ]
}
references/reported-specs.md›
# Reported specs - vendor snapshot, refreshed September 2026

Optional note. This is the only file in this skill that names vendors and products. Every line is tagged with its sourcing tier.

**Re-verify every figure against the vendor's own advertiser help before use.** This space moves weekly. The original August 2026 snapshot was refreshed 2026-09-11: Perplexity's paused intake turned into a full advertising shutdown, Amazon's free Rufus-prompt beta went paid (and Rufus itself was rebranded), Google delayed the AI Max/DSA automigration by five months, and OpenAI's ChatGPT ads roughly quadrupled their country coverage and crossed a $1B run rate. Treat every date and status below as provisional again in another few weeks.

Tiers:

- **vendor-documented**: the vendor's own help/announcement.
- **practitioner-reported**: a named practitioner or agency, first-hand.
- **press-reported**: trade press, second-hand.
- **single-vendor benchmark**: the vendor selling the result.
- **rumour**.

## Verbatim surfaces (advertiser-authored string renders as written)

- **OpenAI ChatGPT ads** (vendor-documented) - the only surface with published copy field specs. Launched 2026-02-09 for logged-in US Free/Go tiers; paid tiers (Plus/Pro/Enterprise) stay ad-free. Expanded fast: 40+ countries by August 2026, then a further rollout to 31 European countries plus India/MENA from 2026-08-31, reaching a $1B annualized revenue run rate the same week (under 200 days after launch). A 2026-09-04 update made product feeds mandatory for shopping results and added Custom Audiences (mixed identifier types, 5M+ members, incremental add/remove/replace) and an Ads Manager Plugin. Re-check country coverage and feed requirements before citing either as fixed.
  - Fields: Advertiser name, Favicon, Title, Copy, Landing page, Image. No separate CTA field.
  - Limits: Title 16-24 characters recommended, 50 max. Copy 32-48 recommended, 100 max. Image square, 1200x1200 max; no published image minimum, aspect-ratio string, or format list (third-party numbers conflict, not official).
  - Three authoring paths: advertiser-written `chat_card`; "Suggested ad drafts" prefill from site metadata (generates no new copy); `product_ad_template` filled from a Google-compatible feed at serve time (`is_ads_eligible` flag required).
  - Practical targets: ~16-char title, ~32-char copy (practitioner-reported, Pacvue via a July 2026 OpenAI/Kepler webinar).
  - Targeting via Context Hints: plain-language situation description, up to 280 characters (practitioner-reported, Demand Curve).
- **Snap AI Sponsored Snaps** (vendor-documented) - launched 2026-04-28 in the chat tab, gray "Ad" label. Replies come from the advertiser's own chatbot; the opening message carries a welcome card, suggested prompts, and a legal disclosure.
  - **My AI Sponsored Links** are contextual, powered by Microsoft's Ads for Chat. The brand receives only query, over/under-18 age range, country/language, OS, and IP.

## Model-generated surfaces (model synthesises from your assets)

- **Google Ads in AI Overviews** (vendor-documented) - existing Search/Shopping/PMax/App assets become eligible above, below, or within the overview; **no new copy fields exist**. Query and overview content both considered at serve time. No ads at all in sensitive verticals: adult, alcohol, gambling, finance, healthcare, politics.
- **Google AI Mode formats** (vendor-documented, in test):
  - Formats: Conversational Discovery ads, Highlighted Answers, AI-powered Shopping ads.
  - Powered by AI Max/Performance Max; copy model-generated from feeds and assets.
  - Practitioner read (Jyll Saskin Gales): "zero control over your ad creative, and zero reporting on what ads showed where."
  - AI Max exited beta on 2026-04-15 (adding an AI Brief setup field and guaranteed text disclaimers for regulated industries), but the automatic Dynamic Search Ads migration Google originally set for September 2026 was delayed to February 2027 (announced 2026-06-11, citing advertiser feedback and Q4-planning disruption); only campaigns using Automatically Created Assets and campaign-level broad match still auto-upgrade on the original September 2026 date. Google also reopened DSA campaign creation from mid-June 2026 through January 2027. Re-check the migration date before citing - it has already moved once.
- **Amazon Sponsored Products / Sponsored Brands Prompts** (formerly "Rufus" prompts; vendor-documented, now generally available) - launched in free open beta 2025-11-11, moved to paid general availability in the US 2026-03-25: clicks now bill under the campaign's standard CPC, ending the free-access window. Separately, the Rufus assistant itself was folded into a rebranded "Alexa for Shopping" experience on 2026-05-13.
  - **Auto-opts-in** advertisers running Sponsored Products auto/broad campaigns.
  - Copy auto-generated from product data, reviews, Brand posts, and campaign keywords.
  - Prompts are pre-determined; no self-serve targeting.
  - A separate, still-free placement type (ads inside AI-conversation replies, no bidding, no dedicated reporting line) continues to run alongside the now-paid prompts; industry analysts expect this to convert to paid with its own reporting line by late 2026 - re-check before citing "free."
  - Bundled into the "Other" placement line, so its ROAS cannot be isolated.
- **Perplexity Sponsored Related Questions** (vendor-documented, discontinued) - advertiser picked the sponsored questions and trigger keywords, got locked answers and term blocking, but never wrote the answer: "not written or edited by the brands sponsoring the questions." CPM-priced while it ran. Advertiser intake paused October 2025; **Perplexity abandoned advertising entirely in February 2026** and moved to a subscription/enterprise-only model - there is no self-serve platform, waitlist, or active ad product as of this check (2026-09-11). An executive left the door open to a future return but named no date; treat this surface as discontinued, not paused, until Perplexity relaunches something.
- **Microsoft Copilot Showroom Ads / Dynamic Filters** (vendor-documented pilots) - **copy field limits are unpublished**; confirm them in-product before drafting to a length rather than guessing at a spec. Microsoft's own claim (press-reported): Copilot search ads "perform 25% better than traditional search ads" on relevance/conversational metrics.
- **AI-native networks** (Koah, Kontext, Nexad) - generate copy from live session context. All CTR/CPA claims (2% average CTR, 122% lift; 3-5% CTR, 2-4x CPA) are single-vendor benchmarks, unverified.

## Economics and measurement figures in circulation

- Bid guidance (practitioner-reported, Demand Curve):
  - $3-5 CPC, with $3 "routinely fail[ing] to clear delivery thresholds."
  - CPMs $25-60.
  - 30-day test floor $1,500-3,000.
- "Roughly 60% of conversions from ChatGPT ads happen outside the immediate click window" → extend attribution to 7-14 days minimum (practitioner-reported, Demand Curve).
- Dark traffic: 70.6% of AI-adjacent visits arriving as "Direct" is a single-vendor figure; Conductor's 3.3B-session benchmark puts AI referral traffic at 1.08% of visits. Cite the pair, never one alone.
- Referral conversion figures (7.1%; 15.9% vs 10.5% vs 1.76%) come from different studies on different populations - quote the spread with sources.

## Treat as rumour or projection

- Any Meta in-answer ad product (rumour). Brave Leo, You.com, Arc advertiser docs (undocumented).
- Every circulating OpenAI ad-revenue figure (press-reported, unaudited). Amazon's ">$10B annual incremental sales" for Rufus (forward-looking projection, not revenue).

## Regulatory position (documented, stable)

No regulator has written an AI-answer-ad-specific rule; existing regimes bind unchanged.

- **US FTC**: "clear and conspicuous" native-ad disclosure ("Ad"/"Sponsored" acceptable; "Partner Content"/"Promoted" disfavoured).
- **UK ASA/CAP**: the Code is media-neutral - "AI does not create new categories of advertising." The CMA can fine up to 10% of global turnover under the DMCCA.
- **EU**: DSA Art. 26 requires real-time per-ad transparency; AI Act Art. 50 transparency has applied since 2 August 2026.

"The AI did it" is not a defence: the advertiser stays accountable for model-generated distortion, and no vendor label discharges these duties.
references/worked-examples.md›
# Worked examples

Four samples: a B2C verbatim-slot package, a B2B verbatim-slot package, a model-generated source rewrite, and an annotated negative example. Product names, evidence, and numbers in the first three are fictional samples showing the shape - never reuse their claims. The negative example's before/after pair is real (Demand Curve, growth newsletters #333-334, 2026).

**Situation description, weak vs strong** (Persona + Intent + Scope, see the main skill's verbatim workflow):

- Weak: "CRM sales software best tools comparison."
- Strong: "A founder evaluating CRM options for a small remote sales team struggling with pipeline visibility."

## 1. B2C verbatim-slot package (in-assistant sponsored card)

Fictional product: Loftly, a meal-planning app. Assumed pasted limits: title 50 chars max (~16-24 recommended), copy 100 max (~32-48 recommended), no CTA field, situation description up to 280 chars.

- **Placement + control axis**: in-assistant sponsored card, verbatim, advertiser-written path, owned by paid media.
- **Situation description** (Persona + Intent + Scope): "A busy parent deciding how to stop wasting weeknight time and food money, asking for realistic meal-planning help for a family that hates repeats." (147 chars)
  - Alternate for delivery diagnosis: "A parent comparing meal-planning apps after abandoning one that suggested recipes their kids refused." (101 chars)
- **Slot copy**:
  - Title: "Dinner solved by 4pm" (20 chars)
  - Copy: "Loftly plans the week from meals your kids already eat." (55 chars)
  - Ask folded in: none needed beyond the landing page - early-thread slot, soft ask implied.
- **Grounding table**:
  - "meals your kids already eat" → app builds plans from logged accepted meals (product doc, supplied).
  - "by 4pm" → framing of the daily plan notification, not a measured outcome; kept as feature framing, no stat claimed.
- **Compliance note**: platform label expected; not a regulated category; no legal review required.
- **Quotability gate**: 10/10 - self-contained, product named, one idea, claim first, specific situation, sourced, no time-bound claim, recommendation register, no superlative, inside limits.
- **Measurement plan**: no account baseline yet - first 30 days set it; attribution window 14 days; read delivery across the two situation descriptions before judging the copy line.

Why it passes: it names the reader's live situation (weeknight scramble, picky kids), reads like a colleague's tip, and survives being lifted out of the thread.

## 2. B2B verbatim-slot package

Fictional product: Ledgerline, an accounts-payable automation tool. The reader is an operations lead building a case for a CFO.

- **Situation description**: "An operations lead at a 50-200 person company evaluating AP automation because month-end close keeps slipping past day five." (124 chars)
- **Slot copy**:
  - Title: "Close in 3 days, not 8" (22 chars)
  - Copy: "Ledgerline cut close time 60% for 40 mid-size finance teams." (60 chars)
- **Grounding table**:
  - "60% / 40 teams" → 2026 customer cohort study, supplied by user.
  - "3 days, not 8" → median before/after from the same study.
  - Both dated; review date set for the study's anniversary.
- **Why the B2B shape differs**: the line hands the reader a quantified outcome they can repeat in a meeting. A B2C-style feel-good line ("AP without the pain") gives the internal case nothing to carry.
- **Quotability gate**: 10/10. Note check 9 especially: "cut close time 60% for 40 teams" is narrow and sourced - an assistant's own answer can sit beside it without contradicting it. "The fastest close in the industry" would fail.
- **Measurement plan**: conversion volume too low for copy-level significance - read delivery, click-through, and demo-request quality quarterly against the account's own trailing numbers.

## 3. Model-generated source rewrite (answer-engine / AI search placement)

The placement synthesises the ad text from the landing page and product feed; there is no string to write. The deliverable is the rewritten source passage.

**Before** (landing-page passage the model currently lifts):

> "Our revolutionary next-generation platform leverages cutting-edge AI to transform the way modern teams work. Trusted by industry leaders everywhere, it delivers unparalleled value across every workflow."

Problems:

- No product name.
- No claim a model can extract.
- Unsupported superlatives.
- Zero specifics.

The model either skips a passage like this or paraphrases a competitor's clearer page instead.

**After**:

> "Ledgerline automates invoice approval for mid-size finance teams. Teams using it close their books in a median 3 days instead of 8, based on a 2026 study of 40 customers. It connects to the ledger systems mid-size companies already run."

Why it works:

- Product named in sentence one.
- Claim first.
- One idea per sentence.
- A sourced, dated number.
- Each sentence quotable alone, at roughly 15-25 words.

Feed fields get the same pass: exact current price in the price field, natural problem-solving language in the description. On this path, the feed is the copy.

Order used:

- Landing-page passage first: the writer owns it, and it ships the same day.
- Feed fields second, once the feed owner is booked.
- Structured data: filed to the dev queue as a follow-up ticket.
- The review programme: named as a standing job outside this package's effort ceiling, listed rather than silently dropped.

## 4. Negative example, annotated (real pair - Demand Curve)

- **Search-style, fails in a conversation**: "Best CRM for Startups. Try Free."
- **Conversational, works**: "Still updating pipeline manually?"

What the failing line gets wrong inside a response slot:

1. **Register**: it interrupts. The reader is mid-deliberation with an assistant; a category-winner announcement reads as a banner that wandered into the thread.
2. **Unsupported superlative**: "Best" is exactly the claim the model's own answer beside it may qualify or contradict in the same turn (quotability check 9).
3. **No situation**: it addresses nobody. The working line names the reader's live problem and lets them self-select.
4. **Two moves in one slot**: a claim plus a CTA shout, neither developed - against the one-idea rule.
5. **Context dependence**: on a search results page, surrounding chrome (ratings, sitelinks, competitors) props it up. Alone in a slot, it carries nothing.

The fix is never a trim of the failing line - it is a rewrite from the situation up. Quotability gate result for the failing line: fails checks 1, 2 (pronoun-free but product-free), 3, 5, 8, and 9.
SKILL.md›
---
name: conversational-ad-copy
description: "Adapt ad messaging for conversational and AI-answer ad surfaces - the one-shot, context-aware ad occupying a single response slot inside an AI assistant reply or answer-engine result, where the copy is either rendered verbatim or rewritten by a model from the landing page and feed. Covers recommendation register, self-contained slot copy, situation-description targeting, grounding and disclosure discipline, and reading performance without creative-level reporting. Use whenever the user mentions ads inside ChatGPT or another AI assistant, sponsored answers, in-assistant ads, response-slot ads, or one-shot ad copy - even if they never say 'conversational ads'. Do NOT use for feed or search ad copy - use mbfinotti/advertising-skills@ad-copy-variants instead."
license: MIT
metadata:
  author: Maya-Beth Finotti
  version: "1.1.8"
---

# Conversational Ad Copy

You are a performance copywriter working the newest paid surface: a single, context-aware ad slot inside an AI assistant's reply, an AI search answer, or an answer-engine result. Adapt the message to that slot - the register, the self-containment, the targeting prose, and the source assets a model may rewrite it from.

One honesty note up front: this surface is young.

- A handful of specs are genuinely vendor-documented.
- Most circulating numbers are single-vendor benchmarks or press rumour.
- Independent, on-topic practitioner coverage is thin.

Treat every concrete figure in this skill as dated and re-verifiable, never as settled craft.

## Scope

Out of scope - hand off instead of doing it here:

- Headline/body/CTA variant generation for feed and search A/B tests → `mbfinotti/advertising-skills@ad-copy-variants`. This skill writes the one slot, not the variant matrix.
- Bidding, budget, and placement management. Hard out. One caveat survives here: an under-bid campaign serves nothing, and zero impressions reads identically to bad copy - confirm the campaign clears the delivery threshold before judging the words.
- Video and UGC scripts → `mbfinotti/advertising-skills@ugc-ad-scripts`. Hook scoring → `mbfinotti/advertising-skills@ad-hook-analyzer`.
- Full campaign creative brief → `mbfinotti/advertising-skills@ad-creative-brief`. Landing-page review → `mbfinotti/advertising-skills@paid-landing-page-audit` (rewriting the specific passages a model lifts IS in scope here).
- Test matrix and sample sizes → `mbfinotti/advertising-skills@ad-creative-test-plan`. Attribution reconciliation → `mbfinotti/advertising-skills@ad-attribution-gap`. Choosing which channel to be on → `mbfinotti/advertising-skills@ad-platform-selection`.

## The control axis

Every AI-answer placement sits on one side of a single divide: **who authors the words the user finally reads**. Establish this before writing anything - it decides what "copywriting" even means for the campaign.

- **Verbatim surfaces** render the advertiser's string exactly as written. Classic copy craft applies, under an unusually tight cap, often with no separate CTA field - the ask must live inside the title or copy line. Your output is the shipped artifact.
- **Model-generated surfaces** synthesise the words from your landing page, product feed, and reviews. Editing a headline changes nothing; editing the source the model reads changes everything. On these surfaces **the landing page and the feed are the copy**, and the practitioner slogan is "be the best answer, not the highest bid".
- **Hybrid paths exist inside one surface** - the same account can run an advertiser-written card, a metadata prefill, and a feed-token template resolved at serve time. Ask which path a campaign uses; never assume.
- Ownership follows the axis: paid-media teams own the auction/verbatim side, SEO/GEO teams increasingly own the generated side. A request to "improve our conversational ad copy" may actually be a landing-page or feed task - establish the surface before accepting the brief.
- Neither side controls adjacency. The answer sitting next to the ad, and the competitors the model cites alongside it, are outside your control on both sides. Monitoring, not copywriting, is the control for that risk.

## Interview

- Ask one question per message.
- Offer multiple-choice options where possible.
- Skip anything the user's brief already answers.

1. Product and offer - what is it, and what should the reader do next?
2. Which placement: an in-assistant sponsored card you author, ads placed inside an AI search answer, a sponsored question on an answer engine, an AI shopping prompt, or an AI-native network slot?
3. Does that placement render your copy verbatim, or does a model generate the words from your site and feed? If unsure, check the vendor's own advertiser help before proceeding.
4. B2B or B2C - and is the reader the decider, or someone building an internal case for others?
5. What buyer situation triggers the target conversation: who is the person, what decision are they making, what constraint narrows it to your category?
6. Evidence on hand - reviews, case-study numbers, support tickets, sales-call notes? (Nothing gets claimed without a source.)
7. Regulated category (health, medical, financial, or other)? Which markets does this run in?
8. Paste the placement's current field names, character limits, and targeting-description length from your own ads manager - published numbers go stale weekly here.
9. On a model-generated path: what do the landing page and product feed currently say about this product?
10. Account baseline - any trailing click-through or delivery numbers on this surface yet?
11. Deadline - what date does a result have to land by?
12. One-off win or compounding asset: (a) the most click-through this flight can buy, or (b) source material and a baseline that keep paying on the next ones?
13. Effort ceiling - hours available, and whose calendar do you control: your own copy, the feed owner's, a dev queue, a review programme?

Answers 11-13 re-rank both ordered menus below; the package states which answer moved which option.

- Deadline inside the month: promotes landing-page passages and the delivery read; deletes structured data, reviews, and any sized test.
- Compounding mandate: promotes structured data and reviews, the two rows that outlive the campaign.
- Effort ceiling limited to your own hours: demotes every row needing the feed owner or a dev queue. Name what fell outside the ceiling instead of dropping it silently.

## Workflow

1. Run the interview.
2. Fix the control axis (question 3). If you can browse the web, verify against the vendor's current advertiser documentation; otherwise have the user paste it.
   - Verbatim: continue at step 3, then step 8.
   - Model-generated: skip to step 7, then step 8.
3. Verbatim path: write the situation description first (the targeting prose, where the surface takes one). Use **Persona + Intent + Scope** (Demand Curve's formula): who the person is, what decision they are making, what context narrows the conversation to your category. Describe a situation, never a keyword string; see [references/worked-examples.md](./references/worked-examples.md) for a weak/strong pair.
4. Pick one angle for the slot, anchored to a piece of supplied evidence. One slot carries one idea; a second idea halves both. If the campaign needs multiple angles tested, that is a variant exercise - hand the matrix to `mbfinotti/advertising-skills@ad-copy-variants` and bring back one line per slot.
5. Draft the slot copy in the recommendation register (next section), self-contained per the slot rules below, inside the exact field limits from question 8. Fold the ask into the copy when no CTA field exists.
6. Never silently truncate to fit a limit. Show the over-limit line with its count and the trimmed alternative, and let the user choose.
7. Model-generated path - the deliverable is rewritten source material, not an ad. Work the assets in the order set by Source rewrite order below, re-ranked against interview answers 11-13. Flag that this work may belong to whoever owns the site and feed, and route it there if that is not your user.
8. Grounding pass, both branches: no invented claims, statistics, or testimonials - ever. Every number traces to a supplied source; a claim without a source gets labelled `UNSOURCED` and held, not written around. Date every time-bound claim and give it a review date; stale copy decays fast on answer surfaces.
9. Compliance pass, both branches:
   - The platform's "Sponsored" label does the platform's job, not yours. FTC, ASA/CAP, and EU DSA/AI Act obligations sit on the advertiser independently; regulators on all three sides apply existing rules unchanged ("AI does not create new categories of advertising").
   - Never write copy styled to read as the assistant's own unprompted conclusion.
   - Health, medical, and financial claims go to legal review before the asset exists. On a generated surface, legal reviews the source passages the model will paraphrase, not just a finished ad.
10. Run the quotability gate (Measurement below). Iterate until it passes 9/10 or better.
11. Run your preferred humanizer skill over every line that ships - the register only works if the line sounds like a person; raw first-draft model output never ships as final.
12. Assemble the output package (shape below). If your harness has persistent memory, store the situation descriptions, chosen angle, sources, and spec snapshot for the next iteration; otherwise write them into the package.

## The register shift

The copy's job changes here, not just its length. "Traditional PPC copy is built to interrupt. In ChatGPT, interruption loses" (Demand Curve). A second, independent practitioner source states the same principle from the opposite direction: a conversational ad should contribute to the answer rather than change the subject, since copy that reads as salesy or overtly promotional creates a jarring context switch that damages both user experience and advertiser performance (Ryze AI).

The reader is mid-deliberation with an assistant they already trust. An ad behaving like a banner reads as an intruder in the thread. Treat the surface as a recommendation layer, not search - "the ad that wins is the one that feels like it belongs in that conversation."

Strong conversational creative does four things (Demand Curve):

- Names the problem directly.
- Matches the conversational register.
- Reduces uncertainty rather than amplifying urgency.
- Positions the product as a recommendation, not a demand.

The target voice is a knowledgeable colleague pointing someone in the right direction.

A real before/after pair makes this concrete: search-style copy announces a category winner to nobody in particular, while conversational copy names the reader's live situation. See [references/worked-examples.md](./references/worked-examples.md) for the full pair and its annotation.

- Urgency inverts on this surface. Scarcity and deadline angles are standard variant dimensions on feed and search; here manufactured urgency breaks the register. A genuine, dated offer still qualifies; a countdown does not.
- Keep brand voice constant; flex tone to the thread's stakes. A high-stakes troubleshooting conversation cannot carry the tone a casual browsing one can.
- Do not invent a separate "for AI" voice - that is a manipulation anti-pattern. Write what an honest human would find useful at that moment.
- Match the ask to the inferred conversation stage. With no CTA field, the ask lives inside the copy line itself.
  - Early exploratory thread: soft ask ("see how it works").
  - Post-comparison thread: hard ask ("start a trial").

## Slot craft rules

A feed ad is read next to the chrome that explains it. A response slot has none - every rule below follows from that one difference.

- **Self-containment is load-bearing.** The line must make full sense with zero surrounding context, lifted out of the thread entirely.
- **Name the product; never pronoun it.** "It" breaks the moment the line stands alone.
- **Lead with the claim; support after.** State the offer or conclusion in the first words.
- **One idea per slot.** Single-concept lines beat bundles; the slot is scarce and non-repeatable.
- **Specifics over adjectives, source attached.** "Response time improved 40% (from 500ms to 300ms)" beats "improved significantly". Keep every claim narrow enough to survive sitting next to the model's own qualified assessment - the model can contradict an overreaching superlative in the same turn, and a modest true claim reads better than a grand contested one.
- **Length: write to the concept, verify the number.**
  - A single self-contained claim: roughly 15-20 words.
  - A full answer block: 30-50 words.
  - Verbatim card fields run far tighter than either - take the exact caps from the user's ads manager (interview question 8), never from memory.
- **Anti-patterns, all ship-blockers:**
  - Keyword stuffing.
  - Hedged language ("may help", "could potentially").
  - Unsupported superlatives.
  - Multi-claim bundling.
  - Buried conclusions.
  - Pronoun ambiguity.
  - Undated time-bound claims.

## Source rewrite order (model-generated path)

The model reads four assets and you can edit three. They differ far more in effort and exposure than in craft, so the order decides the outcome - highest first on each axis:

- efficiency: landing-page passages > feed fields > structured data > reviews
- value: landing-page passages == feed fields > reviews > structured data
- effort: reviews > structured data > feed fields > landing-page passages
- compliance cost: reviews > landing-page passages > feed fields == structured data

- **Landing-page passages** - the words you own outright and the model paraphrases most. An hour of rewriting changes what gets said about you today:
  - Product named in the first sentence.
  - Claim first.
  - One idea per short block.
  - Natural problem-solving language over keyword density.
- **Feed fields** - the description is the copy on this path, and the price and spec fields are what a shopping surface quotes; keep them exact and current. Costs coordination with whoever owns the feed, and a malformed field drops eligibility rather than degrading it.
- **Structured data** - a short ticket in a long queue. Pins the prices and specs the model would otherwise infer, and keeps paying on every re-crawl.
- **Reviews** - the highest trust weight and no edit path. Only product fixes and asking customers at the right moment change what future reviews say; budget a quarter, not a sprint.

What the efficiency order starves: reviews. They carry the highest trust weight of the four assets and offer no edit path, so a ratio parks them last every time and a copy pass computing only efficiency never starts the asset the model quotes most.

Promote them whenever interview question 12 comes back "compounding" - a solicitation programme started this quarter is what the next four campaigns get paraphrased from. Start it, and still expect nothing from it inside this flight.

Feed fields and landing-page passages tie on value because on a generated path both are prose the model paraphrases straight into the answer - the same words reaching the same reader whichever asset carried them. They part on effort: the feed costs coordination with whoever owns it, dropping it to second on efficiency - except on a feed-driven shopping placement, where the feed is the entire ad and jumps to first.

Compliance-cost rows rank by exposure, not by ratio. Feed fields and structured data tie at the bottom of that axis because both publish factual attributes rather than claims - price, spec, availability - so the whole exposure either carries is whether the stated fact is currently true, and it is the same check on both.

Soliciting or incentivising reviews falls under endorsement rules in every market this skill covers - get that programme reviewed before it runs, not after. In a regulated category, legal reviews the source passages the model will paraphrase; book that review alongside the rewrite, because the review, not the writing, is the long pole (workflow step 9).

Every ordering here is a default, not a law: it shifts with the account and with who executes. Re-rank against what the interview already told you - an in-house dev makes structured data near-zero effort, and a review-solicitation programme already running makes reviews cheap to redirect.

Delete, don't demote: a ruled-out asset parked at the bottom comes back as scope the flight never budgeted, so it leaves the menu and becomes a routed request to whoever owns it, named as deleted in the package.

- A landing page this user cannot edit.
- Structured data with no dev queue to file against.
- The whole reviews row, when a deadline inside the month (interview question 11) rules it out.

## B2B and B2C

The register shift, the slot rules, the grounding rule, and the quotability gate are identical for B2B and B2C - apply them unchanged on both sides. What differs is what the line must supply:

- B2C: the reader is usually the decider. A named situation plus one concrete outcome can close the loop alone.
- B2B: the reader is often building a case for someone else. Give them a quantified outcome they can carry into a meeting, and expect the slot to open a research cycle, not end one.
- Inventory skews B2C on in-assistant shopping surfaces (feed-driven by construction); B2B leans on research-mode answer engines and long consideration threads. Both are practitioner observations, not vendor guarantees.
- B2B measurement inherits its usual constraint: conversion volume is too low for copy-level significance for months - read delivery, click-through, and lead quality instead (see Measurement).

## Reported specs - dated snapshot

Concrete platform numbers live in [references/reported-specs.md](./references/reported-specs.md), a clearly-marked optional note, dated 2026-08, naming vendors and tagging every figure vendor-documented / practitioner-reported / press rumour. Before using any number from it, re-verify against the vendor's own advertiser help - this space moves weekly, and coverage of which surfaces publish their own copy field limits varies. Core instructions in this file deliberately carry no bare platform numbers.

## Output shape

Deliver one slot package per placement:

- **Placement + control axis**: surface class, verbatim or model-generated, authoring path, and who owns it.
- **Situation description**: the Persona + Intent + Scope prose, plus 1-2 alternates for delivery diagnosis.
- **Slot copy** (verbatim path): title and copy line inside the pasted limits, with character counts shown, ask folded in; or **source rewrites** (generated path): the assets in rewrite order, the specific passages and feed fields rewritten with before/after, and every asset a stated constraint deleted from the menu, named with the constraint.
- **Grounding table**: each claim → its source, or `UNSOURCED` and held.
- **Compliance note**: label expectations, regulated-category status, legal-review status.
- **Quotability gate result**: the 10 checks, pass/fail each.
- **Measurement plan**: baseline used, attribution window, which reads run in which order, and which interview answer moved that order.

See [references/worked-examples.md](./references/worked-examples.md) for a worked B2C verbatim package, a worked B2B package, a model-generated source rewrite, and an annotated negative example.

## Invocation examples

- "Write the sponsored-card copy and situation description for our payroll tool - target founders mid-research in an assistant conversation."
- "Our ads now show inside AI search answers and the model describes us wrong - fix what it reads."
- "Adapt this winning search headline for a one-shot assistant slot" (expect it to fail the register and be rewritten, not trimmed).

## Failure modes

- Search-style line dropped into a conversation → reads as an intruder. Fix: name the reader's situation, not your category win.
- Writing headlines for a model-generated surface → nothing changes downstream. Fix: rewrite the source passages and feed.
- Keyword string in the situation description → wrong conversations or none. Fix: Persona + Intent + Scope.
- Two claims in one slot → both halve. Fix: one idea; park the second for the next iteration.
- Manufactured urgency → register break, trust cost. Fix: reduce uncertainty instead; keep only genuine dated offers.
- Copy styled as the assistant's own conclusion → the highest-risk version of this format; borrowed authority raises the substantiation bar, never lowers it. Fix: keep the ad distinguishable from the answer.
- Fabricated stat or testimonial → regulatory exposure on a surface regulators already cover. Fix: label `UNSOURCED` and hold.
- Superlative next to the model's own qualified assessment → contradicted in the same turn. Fix: narrow, true, sourced.
- Judging copy through a 1-day click window → the surface converts late; short windows under-credit it and kill it prematurely.
- Crediting an organic AI-visibility change to the ad → paid and organic are two separate systems on the same prompt. Read them separately.

## Measurement

Two-part objective - a pre-ship gate you control, then an account-baseline read, because this surface has little or no creative reporting to optimise against (no query-level reporting, no verbatim-render guarantee on generated paths, no deterministic click attribution).

**Pre-ship: the quotability gate.** Score each shipped line yes/no. **Pass bar is 9/10; iterate until it passes.** Every check maps to a documented ship-blocker on this surface. Nine of ten is the floor to ship on, not the target - a line clearing nine still owes a fix on its one failed check before the next iteration, it just does not block that ship:

1. Makes full sense with zero surrounding context?
2. Names the product explicitly - no pronouns doing load-bearing work?
3. Exactly one idea?
4. Claim first, support after?
5. Specific detail (number, outcome, or named situation) rather than adjectives?
6. Every claim traced to a supplied source?
7. Time-bound claims dated, with a review date set?
8. Reads as a colleague's recommendation - no interruption pattern, no manufactured urgency?
9. Narrow enough to survive the model's own assessment beside it - no unsubstantiated superlative?
10. Inside the placement's current limits, verified against the user's ads manager today?

**Post-ship: account baseline, not published benchmarks.** Compare against the account's own trailing numbers on the same surface; where none exist yet, the first 30 days set the baseline. Circulating external benchmarks are single-vendor or press-reported - sanity checks at best. Extend the attribution window to 7-14 days minimum on every read below (practitioner-reported: a majority of conversions land outside the immediate click window).

Four reads are available and they are not equally worth your hours - highest first on each axis:

- efficiency: delivery across situation descriptions > click-through vs. your own trailing numbers > downstream lead or purchase quality > a sized variant test
- value: a sized variant test > downstream lead or purchase quality > click-through vs. your own trailing numbers > delivery across situation descriptions
- effort: a sized variant test > downstream lead or purchase quality > click-through vs. your own trailing numbers > delivery across situation descriptions

- **Delivery across situation descriptions** - free, readable in days, and it fires before the copy question even applies. Strong delivery signals a real buyer conversation; weak delivery means low volume or a mis-framed situation, so re-frame the situation before touching a word of the copy.
- **Click-through against your own trailing numbers** - one 30-day window, no setup, and the only copy-level read this surface gives you. Relative, never absolute: there is no query-level reporting behind it.
- **Downstream lead or purchase quality** - the truest read of what the slot bought, and a standing job for whoever scores leads. On B2B it is the only signal that survives conversion volume too low for copy-level significance for months.
- **A sized variant test** - the only causal answer and the most expensive one. One slot per response and high CPMs make sample-size discipline bite harder here; keep variant counts to two or three and size it with `mbfinotti/advertising-skills@ad-creative-test-plan` before spending.

The axes disagree at both ends. The variant test tops value and effort, landing it last on efficiency - it costs weeks of spend to answer what delivery answers in days, so run it only once delivery and click-through have stopped moving. Delivery is the mirror image: bottom on value, top on efficiency, because it is free and it stops you rewriting copy that never served.

This order is a default, not a law. Re-rank against the account:

- A year of trailing numbers on this surface promotes the click-through read to first.
- No history at all demotes it until the baseline exists.
- A quarterly B2B deal cycle makes lead quality a quarterly read rather than a 30-day one.
- A hard deadline (interview question 11) deletes the sized test outright.

## Reference

- [references/reported-specs.md](./references/reported-specs.md) - dated vendor snapshot with sourcing tiers; re-verify before use.
- [references/worked-examples.md](./references/worked-examples.md) - worked B2C, B2B, and source-rewrite packages plus an annotated negative example.