What we check
Three sources. In the executable HTML the check looks for conversion IDs (AW-…) and the gtag config next to them: allow_enhanced_conversions, conversion_linker and the linker domains for cross-domain setups. When Google Ads runs through Tag Manager, the scan fetches the container (gtm.js) and reads the conversion tags, the conversion linker tag and the enhanced conversions switch there. The deep scan adds the browser view: if the _gcl_au cookie is set after "Accept all", the linker is not just configured but active, and conversion pings to googleads.g.doubleclick.net show which IDs really fire.
Without any Ads signal there is no finding. With a signal: ok only with linker and enhanced conversions, otherwise "to review". What the scan cannot see: the conversion events themselves (they fire on thank-you pages, not on the entry page), offline conversions and anything configured in the Ads account instead of the tag.
Why it matters
The conversion linker writes the click ID from the ad URL (gclid) into a first-party cookie. Without it, the ID is lost on Safari, on Firefox and in every redirect. The conversion still happens. Google Ads just cannot attribute it to a campaign, and Smart Bidding optimises on a fraction of the truth. Enhanced conversions send hashed customer data (email, phone) along with the conversion so Google can match it even without a cookie. Google recommends them as the basis for conversion modelling; without them a share of conversions stays unattributed, and nobody notices because the number in the Ads account is simply smaller.
Common causes
- Google Ads was set up in Tag Manager, but the conversion linker tag was never created. gtag enables it by default, GTM does not.
- Enhanced conversions enabled in the Ads account but not in the tag. Both have to match.
- The cookie banner keeps blocking the linker after consent because the tag is assigned to the wrong service.
- Two domains (shop and checkout) without a cross-domain linker: the click ID stays behind on the first domain.