Ad extensions
Extensions are the extra lines that show under your Google Ads text ad: sitelinks, callouts, structured snippets, call buttons. Google's data shows they lift CTR by 10 to 15% when fully populated. VibeAds generates all of them automatically.
What they are
Google Ads renamed extensions to "assets" in 2022. VibeAds uses both terms. Functionally, every campaign gets a full asset set on first publish, attached at the campaign level and inherited by all ad groups.
Sitelinks
Up to 6 sitelinks per campaign. Each is a clickable subline under the ad with its own headline + description + final URL. When you publish, the sitelinks point to the campaign's own service pages, one per ad group, named after it. A campaign with fewer than two service ad groups gets standard pages instead:
- "Free [service] Quote"
- "How It Works"
- "Service Areas"
Older campaigns' sitelinks point to intent sub-paths on the funnel (/free-estimate, /pricing, /same-day). The Cloudflare Worker still leads those pages with a price or urgency headline to match the click.
Callouts
6 to 8 callouts per campaign. Short phrases that render under the ad without their own URL. The per-category defaults name services or offers and claim nothing about your business. For a plumber:
- Free Estimates
- Residential & Commercial
- Leak Detection
- Sewer Line Service
- Serving [your city] & Nearby
Claims such as licensed, insured, years in business or a guarantee become callouts only when your business details back them. A star rating never goes in a callout. Other restricted phrases are blocked (no "best" or "cheapest" without proof).
Structured snippets
2 structured snippet sets per campaign, padded from the per-category knowledge base's typical_serviceslist:
- Services: Drain Cleaning, Water Heaters, Sewer Repair, Burst Pipes...
- Service Catalog: Emergency, Residential, Commercial...
Snippet headers are validated against Google's whitelist (Types, Service catalog, Amenities, etc.). AI- hallucinated headers auto-correct to "Types." Snippets with fewer than 3 values are auto-padded from the knowledge base.
Call extension
Added automatically when you set business_phone on the campaign or in your business profile. Google shows the number as a tap-to-call button on mobile. Call duration counts as a conversion if the call lasts more than 60 seconds (default Google threshold).
On Pro and Max, VibeAds-provisioned Twilio tracking numbers can replace your business number on the funnel page (DNI) so calls go through VibeAds for AI scoring. See Call tracking.
Your existing assets
If you already have account-level sitelinks and callouts in your Google Ads account, VibeAds detects them on OAuth connect and stores them in a separate account-level assets table.
On the campaign strategy review, a toggle lets you pick "AI Generated" or "Your Assets." Per section (sitelinks separately from callouts). If you pick "Your Assets" and have fewer than 4, AI pads the remaining slots so you never publish a thin asset set. Padded items show a robot indicator in the UI.
User-marked assets carry intent_slug = user-asset which survives publish-campaign's delete-and-recreate cycle. Republishing does not clobber your hand-tuned text.