Google Consent Mode v2 Checker - gcs/gcd Before & After Consent avatar

Google Consent Mode v2 Checker - gcs/gcd Before & After Consent

Pricing

$5.00 / 1,000 page auditeds

Go to Apify Store
Google Consent Mode v2 Checker - gcs/gcd Before & After Consent

Google Consent Mode v2 Checker - gcs/gcd Before & After Consent

Is Google Consent Mode v2 really working? Loads each page, records GA4 and Google Ads hits before consent and after Accept and Reject, decodes gcs/gcd into plain words and flags tags firing early or ignoring a reject. Bulk, takes a Maps dataset's website column.

Pricing

$5.00 / 1,000 page auditeds

Rating

0.0

(0)

Developer

mohamed alaya

mohamed alaya

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 days ago

Last modified

Share

Checks whether Google Consent Mode v2 really works on a website: it records the Google Analytics (GA4), Google Ads and Tag Manager requests a page sends before consent, after clicking Accept and (in a fresh browser) after clicking Reject, and decodes the gcs / gcd consent parameters of every hit. For EU agencies, CMP resellers and GA4 consultants who need to test many sites, both consent paths, without clicking through each one by hand.

Input examples

{ "urls": ["https://www.example.com/"] }

Bulk from a Google Maps scraper dataset:

{ "datasetId": "YOUR_MAPS_DATASET_ID", "websiteField": "website", "maxUrls": 50 }

EU view with a German proxy (consent banners often show only to EU visitors):

{ "urls": ["https://www.example.de/"], "proxyConfiguration": { "useApifyProxy": true, "apifyProxyCountryCode": "DE" } }

Input guide

FieldMeaning
urls, datasetId, websiteFieldSites to test; dataset website column optional
settleSecondsRecording window before the banner is clicked
afterClickSecondsRecording window after Accept / Reject
maxUrls, concurrency, locale, proxyConfigurationSize, speed, language, proxy

Output

Two row types (views sites and hits):

type: "site": verdict (PASS, WARN, FAIL, NO_HITS_SEEN, NO_GOOGLE_TAGS), findings[] (code, severity, message), consentPlatformDetected, googleTagIds, gtmContainers, v2SignalsSeen, and per phase (beforeConsent, afterAccept, afterReject): hit counts by state (denied, granted, unset, noSignal), whether the button was clicked and how.

type: "hit" (free detail, up to 40 per site): phase, kind (ga4, ads-conversion, ads-ccm, ads-remarketing), event, tid, state, gcs, ad_storage, analytics_storage, gcd, ad_user_data, ad_personalization.

Decoding: gcs=G1xy = ad_storage x and analytics_storage y (1 granted, 0 denied, - not set). gcd is parsed into ad_storage, analytics_storage, ad_user_data and ad_personalization; the state letters r (granted), q (denied) and l (not set) are decoded, any other letter is returned as unknown with the raw code.

Sample hit row:

{ "type": "hit", "pageUrl": "https://www.hubspot.com/", "phase": "after-accept", "kind": "ga4", "state": "granted",
"gcs": "G111", "gcd": "13r3r3r2r5l1", "ad_storage": "granted", "analytics_storage": "granted" }

Findings you can get

GRANTED_BEFORE_CONSENT, NO_CONSENT_SIGNAL_BEFORE_CONSENT, GRANTED_AFTER_REJECT, NO_SIGNAL_AFTER_REJECT, NOT_GRANTED_AFTER_ACCEPT, NO_GCD_V2_SIGNALS, GRANTED_NO_BANNER_SEEN, REJECT_NOT_CLICKED (no first-layer reject button found), and informational ones.

Use it with

Google Maps scraper -> this Actor for agency prospecting; gdpr-risky-embeds-checker and gpc-opt-out-checker for the full EU + US consent pack.

FAQ

Why FAIL with "no banner seen"? A US datacenter visit often gets no EU banner and a granted default. That is reported as a warning (GRANTED_NO_BANNER_SEEN); repeat with an EU proxy.

Which hits count? GA4 /g/collect, Ads conversion / user-list / ccm and remarketing requests, plus Tag Manager and gtag script loads.

Honest limits

Banners are clicked by CMP selectors and button text (English, German, French, Spanish, Italian, Dutch, Portuguese, Danish, Swedish). Banners that need a second layer or an unusual widget may not be clicked (clicked: false). Rejecting usually needs a first-layer button. One anonymous visit per path; server-side tagging is seen only if it uses the usual /g/collect path. Only 3 gcd state letters are decoded. Public pages only. Not legal advice.

Price

$0.005 per site audited (page-audited). Errors and hit rows are free. Example: 40 sites = $0.20.