Skip to content

Fix: Sitelinks, callouts, and snippets attached only at ad-group level

finding google ads updated 2026.05.27 8 min read

Your audit found that asset extensions — sitelinks, callouts, structured snippets, calls, promotions, lead forms — are attached to individual ad groups but never promoted to campaign level (or above). For accounts that have already cleared the basic asset-count thresholds, this is a polish opportunity that unlocks broader auction eligibility and trims maintenance overhead. It is not a blocker, and it is not where the largest performance lifts live.

Why this matters

Asset extensions are the slots that turn a one-line text ad into a multi-line block on the search results page — sitelinks, callouts, structured snippets, call buttons, promotions, lead forms. Google describes them as components that enhance ads with extra business information, served dynamically when the auction predicts they will improve performance [1]. They are free to attach, and they only cost the standard click rate when a user interacts.

The level at which you attach those assets changes which campaigns and ad groups they are eligible to serve on, and in some cases whether they suppress other assets from serving. Google's documentation describes a branch model: when you create an asset at the account, campaign, and ad-group level within the same hierarchy branch, the auction can draw from any of them. For sitelinks specifically, assets defined at all three levels in the same branch are eligible to serve together, and Google picks the best-performing combination at auction time [2].

Other asset types follow a stricter rule. Structured snippets created at ad-group level prevent campaign-level and account-level snippets from serving for that ad group — Google's help center is explicit: "If you created these ad assets at a more granular level, they will prevent higher level structured snippet assets from serving" [3]. Call assets behave similarly — Google notes the "most specific will be used" when call assets exist at multiple levels [4].

That mix matters operationally. An account that attaches every asset at ad-group level inherits three drawbacks:

  1. Suppression of higher-level coverage. For structured snippets and calls specifically, ad-group-level entries block campaign and account fallback entirely [3][4]. Drop the ad-group entry by accident and the ad group serves with no snippet at all.
  2. Maintenance fragmentation. A pricing-page sitelink that lives in fifty ad groups requires fifty edits when the URL changes. The same sitelink at campaign or account level is a single edit.
  3. Slower asset learning. Google rates assets as Learning, Low, Good, or Best based on serving data. Splitting impressions across many ad-group-level copies of the same asset means each copy accumulates its share of impressions more slowly, which can extend the time the algorithm spends in Learning.

For accounts already at the headline and asset-count minimums, consolidating most assets to campaign or account level is the next-tier optimization that compounds across all three drawbacks. Marginal lift sits in broader auction eligibility and lower opportunity cost from maintenance — not in a dramatic CTR step-change. This is diminishing-returns territory, which is why the finding is rated LOW.

How to verify the issue

  1. Open Google Ads. Navigate to Ads & assetsAssets.
  2. Click the asset-type tab you want to audit (Sitelinks, Callouts, Structured snippets, Calls, Promotions, Lead forms).
  3. Add the Level column from the column picker if it isn't visible. The Level column shows whether each asset is associated at Account, Campaign, or Ad group level.
  4. Filter or sort by Level. If the vast majority of rows show Ad group, the rule has fired correctly.
  5. Cross-check at campaign level: open Campaigns → select any campaign → Assets. If the campaign's assets are inherited solely from ad-group entries with no campaign or account fallback, that confirms the fragmentation pattern.
  6. For structured snippets and call assets specifically, note any ad group that has its own entry — those ad groups are blocking higher-level fallback even if a higher-level asset exists [3][4].

Time required: 10 minutes for a small account, 30 minutes for an account with dozens of campaigns.

How to fix it

  1. Decide which assets are evergreen. Walk the existing ad-group-level asset list. Mark each as either "applies to most campaigns/ad groups in the account" (evergreen) or "ad-group-specific" (different landing page, different language, different offer scope).
  2. Promote evergreen assets to account or campaign level. Use Ads & assetsAssets+ → choose the asset type → in the "Add to" step, select Account or a specific Campaign rather than an ad group. Re-create the evergreen entries at the new level.
  3. Remove the redundant ad-group-level copies. For sitelinks, removing the duplicate is optional — the branch model means duplicates can coexist [2]. For structured snippets and call assets, removing the ad-group-level copy is the only way to let the higher-level entry serve on that ad group [3][4].
  4. Keep ad-group-level assets only when justified. Genuine exceptions: an ad group that points at a non-default landing page (e.g., a localized variant), an ad group running in a different language from the rest of the campaign, an ad group promoting a time-limited offer that doesn't apply campaign-wide.
  5. Set an account-level fallback. Even if every campaign has its own campaign-level set, an account-level set of callouts and sitelinks covers any future campaign launched without bespoke assets. This is the cheapest insurance policy in the asset stack.
  6. Document the policy. Note the decision rule ("evergreen → account or campaign; ad-group only when landing page or language differs") in the account changelog so future optimizers don't drift back to ad-group-level by default.

Time required: 30-90 minutes for the audit and consolidation, depending on account size.

How to confirm the fix worked

  • In Ads & assetsAssets, the Level column shows that evergreen assets now sit at Account or Campaign level.
  • No ad group has a duplicate structured-snippet or call-asset entry that suppresses higher-level fallback (unless that suppression is deliberate).
  • The Asset report shows impressions accruing to the new higher-level entries (review after 7 days of serving data).
  • Asset performance ratings (Learning / Low / Good / Best) on the consolidated entries move from Learning toward Good or Best as impressions concentrate.
  • Campaign-level Asset reports show coverage for sitelinks, callouts, and snippets — no campaign is now serving with zero assets in any category.
  • No measurable drop in CTR or conversions during the 14-day window after consolidation.

Verification window: 14 days after the consolidation. Assets are auction-eligible rather than guaranteed, so serving frequency builds over the first week as Google's algorithm learns each new combination.

campaign_level_assets_usage is a polish-tier finding that typically co-occurs with rsa_long_headlines_filled, fix-callout-extensions (under-filled callout counts), and fix-structured-snippets (under-filled snippet headers). It is not a prerequisite for any larger fix — accounts can ignore this finding indefinitely without breaking attribution, bidding, or learning. Address it once the higher-severity findings (broad-match negatives hygiene, tROAS value tracking, attribution model consistency) are closed.

The fix is mechanical: re-create evergreen assets at a higher level, then remove the redundant ad-group copies where suppression is the active risk (structured snippets and call assets). Diminishing returns territory — useful, but not the lever that moves the account's main KPIs.

Sources

  1. Google Ads Help — About assets. https://support.google.com/google-ads/answer/7332837 (accessed 2026-05-27)
  2. Google Ads Help — About sitelink assets. https://support.google.com/google-ads/answer/2375416 (accessed 2026-05-27)
  3. Google Ads Help — About structured snippet assets. https://support.google.com/google-ads/answer/6280012 (accessed 2026-05-27)
  4. Google Ads Help — About call assets. https://support.google.com/google-ads/answer/2453991 (accessed 2026-05-27)
// was this useful?
// anonymous · no personal data stored