google_ads_ad_group_ad
An ad is the creative that runs inside an ad group. Bidsmith currently supports responsive search ads (RSAs) — Google’s recommended search ad format, where you supply 3–15 headlines and 2–4 descriptions and Google permutes them at serve time.
Example
A responsive search ad with one pinned headline and one pinned description:
resource "google_ads_ad_group_ad" "summer_default_rsa" { ad_group = google_ads_ad_group.summer_default.id status = "ENABLED"
ad { name = "Summer RSA" final_urls = ["https://example.com/summer"]
responsive_search_ad { headline { text = "Summer Deals 2026" pin = "HEADLINE_1" }
headline { text = "Save On Summer Gear" }
headline { text = "Free Shipping This Season" }
description { text = "Limited-time offers across our summer range." pin = "DESCRIPTION_1" }
description { text = "Order today, get it before July." }
path1 = "summer" path2 = "deals" } }}Schema
Required
-
ad_group( Reference togoogle_ads_ad_group)
Optional
-
status( String ) One of:ENABLED,PAUSED,REMOVED.
Nested blocks documented below: ad.
Nested blocks
ad
The wrapper around the actual creative. Bidsmith currently supports
exactly one ad block per google_ads_ad_group_ad.
Required
-
final_urls( List of String )
Optional
-
name( String )
Nested blocks documented below: responsive_search_ad.
responsive_search_ad
A responsive search ad. Goes inside the ad block.
Optional
-
path1( String ) -
path2( String ) -
headlines( List of strings or { text, pin } objects ) -
descriptions( List of strings or { text, pin } objects )
Nested blocks documented below: headline, description.
headline
A single headline asset. Repeat the block 3–15 times. text is the
ad copy (≤ 30 characters); pin optionally locks the headline to a
specific position (HEADLINE_1, HEADLINE_2, or HEADLINE_3).
Required
-
text( String )
Optional
-
pin( String ) One of:HEADLINE_1,HEADLINE_2,HEADLINE_3,DESCRIPTION_1,DESCRIPTION_2.
description
A single description asset. Repeat the block 2–4 times. text is the
ad copy (≤ 90 characters); pin optionally locks the description to
DESCRIPTION_1 or DESCRIPTION_2.
Required
-
text( String )
Optional
-
pin( String ) One of:HEADLINE_1,HEADLINE_2,HEADLINE_3,DESCRIPTION_1,DESCRIPTION_2.
See also
google_ads_ad_group— required parent.- Tutorial: Launch a new search campaign — includes a full RSA example.