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.

6 sitelinks per campaign. Each is a clickable subline under the ad with its own headline + description + final URL. The sitelinks point to intent sub-paths on your funnel:

  • /free-estimate with "Get Free Quote"
  • /pricing with "See Pricing"
  • /same-day with "Same-Day Service"
  • /how-it-works with "How It Works"
  • Plus 2 category-specific ones (varies)

Each intent sub-path injects a meta name=intent tag on the funnel page so the Cloudflare Worker can swap headlines and CTAs to match the click intent.

Callouts

6 to 8 callouts per campaign. Short trust phrases that render under the ad without their own URL. Per-category defaults:

  • Free Quotes
  • Same-Day Service
  • Licensed & Insured
  • Local Family Owned
  • 5-Star Rated (when GBP rating supports)
  • 24/7 Emergency (for emergency-heavy categories)
  • Upfront Pricing
  • Satisfaction Guaranteed

Restricted phrases are blocked (no unsubstantiated star claims, 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.