Ad Copy & Landing Page Playbook for DTC Google Ads
Frameworks for writing high-converting ad copy and structuring landing pages with proper tracking, derived from campaigns generating 16,000+ conversions at $330-$360 CPA.
Headline Framework
Performance Max requires up to 15 headlines (30 chars) and 5 long headlines (90 chars). Fill every slot using this formula system.
Short Headlines (30 char max)
Use these formulas, adapting product/offer for the brand:
| Formula | Example |
|---|---|
{Product} ${Price} {Audience} Only |
Tirzepatide $149 Women Only |
{Audience} Get ${Price} {Product} |
Seniors Get $149 Tirzepatide |
{Audience} Qualify in 5 Min |
Women Qualify in 5 Min |
Free Overnight Shipping |
Free Overnight Shipping |
${Price/Day} {Product} |
$4.9/Day Tirzepatide |
{Audience} Save {X}% This Week |
Seniors Save 30% This Week |
{Offer Name}: ${Price} |
Her Reset: $149 Deal |
Drop {X}lbs by {Month} |
Drop 40lbs by April |
{X}% Off {Product}: {Offer} Deal |
30% Off GLP-1: Her Reset Deal |
Fast Online {Product} Access |
Fast Online GLP-1 Access |
Key principles:
- Lead with the audience when possible (creates instant relevance)
- Always include price point (specificity converts)
- Include urgency or time element in at least 2 headlines
- Use the offer/coupon name as a branded hook
Long Headlines (90 char max)
Long headlines appear in display placements and should tell a mini-story:
| Formula | Example |
|---|---|
{Offer}: The {Audience}-Only {Product} Special. Get Started Today for Only ${Price}. |
Her Reset 2026: The Women-Only Tirzepatide Special. Get Started Today for Only $149. |
{Audience} — Apply Now to Claim {X}% Off {Product}. Limited Spots Available |
Seniors — Apply Now to Claim 30% Off Tirzepatide. Limited Spots Available |
Stop {Pain Point} and {Benefit} This {Month}. ${Price} {Product} for {Audience} at {Brand}. |
Stop Food Noise and Reclaim Your Body This February. $149 Tirzepatide for Women at Medvi. |
Drop {X}lbs by {Month} with personalized care and {Product} medication |
Drop 40lbs by April with personalized care and GLP-1 medication |
{Benefit}: {Product} for Less Than ${Price/Week}. This {Event} Deal Ends Soon. |
GLP-1 for Less Than $37/Week. This February Deal Ends Soon. See If You Qualify. |
Descriptions (90 char max)
Write 5 descriptions covering these angles:
- Social proof + urgency: "Join thousands of {audience} using {brand} for a {year} reset. ${price} offers end soon."
- Call to action + offer: "Ready for a change? Use code {offer} for ${price} {product}. Quick online process."
- Benefit + price: "Make {year} your year. Get doctor-prescribed {product} for ${price}. Fast online approval."
- Value prop + savings: "Science-backed {benefit} tailored for {audience}. Save over {X}% and pay only ${price} today."
- Immediacy + access: "Immediate online application — {audience} get discounted {product} for just ${price} today."
Offer Naming Strategy
Create named offers/coupons that serve as campaign-level brands:
| Audience | Offer Name Example | Purpose |
|---|---|---|
| Women | "Her Reset 2026" | Empowerment + seasonal hook |
| Seniors | "Senior Discount Program" | Trust + exclusivity |
| Moms | "Mom Reset" | Identity-based hook |
| General | "February Special" | Seasonal urgency |
| Men | "Reclaim26" | Aspiration + year |
Named offers create continuity across headlines, descriptions, and landing pages.
Landing Page URL Architecture
Every campaign maps to a specific landing page URL with tracking parameters:
URL Structure Pattern
https://{domain}/{page}?page={funnel}&af_source={offer_name}&uid={user_id}&oid={offer_id}&affid={affiliate_id}&sub4={wbraid}&sub5={gbraid}&sub3={gclid}&sub1={campaign_name}
Parameter breakdown:
| Parameter | Purpose | Example |
|---|---|---|
page |
Funnel step identifier | dc1 (direct conversion 1) |
af_source |
Offer/campaign source tracking | HerReset2026, February, Seniors2026 |
uid |
Landing page variant ID | 50, 51, 76 (different page designs) |
oid |
Offer ID | 5 |
affid |
Affiliate/team ID | 38 |
sub1 |
Campaign name passthrough | gpm-$149-women-4 |
sub3 |
Google click ID | {gclid} |
sub4/sub5 |
Google wbraid/gbraid | For iOS attribution |
Domain Strategy
Use multiple domains/subdomains for different funnels:
medvi.org/special.php— primary conversion page (highest volume)glp.medvi.org/special.php— secondary/variant page (phone-excl campaigns)medvi.org/?page=dc1— legacy/alternate funneldirectmeds.com/dm-offers-stc/— partner brand offers
Map phone-exclusion campaigns to a different subdomain to track device-level landing page performance separately.
Landing Page Variant Testing
Use the uid parameter to rotate landing page variants:
uid=50— Variant A (e.g., long-form with testimonials)uid=51— Variant B (e.g., short-form with urgency)uid=76— Variant C (e.g., quiz-based funnel)uid=44— Variant D (e.g., direct offer page)
Each campaign should point to a specific uid. Compare conversion rates across UIDs to find winners per audience segment.
Negative Keyword Strategy
Protect campaign efficiency with layered negative keywords:
Campaign-Level Negatives
Block these categories at the campaign level:
- Brand misspellings that indicate different intent — e.g.,
[medvidi](different company) - Competitor brand names (broad match) — e.g.,
Mounjaro,Zepbound,semaglutide(prevent spend on competitor searches) - Product terms that cannibalize other campaigns — e.g.,
[glp 1 weight loss]blocked in one campaign to funnel it to another - Navigational/existing customer queries — e.g.,
medvi login,medvi reviews(existing customers, not new acquisition) - Low-intent informational terms — e.g.,
weight loss drugs,oral semaglutide(research intent, not purchase)
Negative Keyword Lists
Create shared lists for terms to block across all campaigns:
- "Competitor Brands" — all major competitor names (broad match)
- "Product Removal" — specific product terms to exclude from certain campaigns (exact match)
- "Brand Navigation" — existing customer navigation queries (broad match)
Search Term Review Cadence
Review search terms weekly. For each new term with 10+ clicks and zero conversions, add as a negative. For terms converting above target CPA, monitor for 2 more weeks before deciding.
Asset Group Strategy for PMax
Each Performance Max campaign should have 2-4 asset groups with:
- Different creative themes (e.g., before/after, testimonial, product-focused)
- Same audience signal (the campaign defines the audience)
- Same landing page (URL with same af_source)
- Varied headlines/descriptions to test messaging angles
Mark asset groups as "Limited by policy" and appeal if necessary — this is common in health/wellness verticals and does not prevent delivery.
Additional Resources
Reference Files
For detailed copy examples and templates, consult:
references/headline-swipe-file.md— 100+ proven headline templates across DTC verticalsreferences/negative-keyword-templates.md— Pre-built negative keyword lists by industry vertical