Google Consent Mode v2 Checker - gcs/gcd Before & After Consent
Pricing
$5.00 / 1,000 page auditeds
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
18 days ago
Last modified
Categories
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
| Field | Meaning |
|---|---|
urls, datasetId, websiteField | Sites to test; dataset website column optional |
settleSeconds | Recording window before the banner is clicked |
afterClickSeconds | Recording window after Accept / Reject |
maxUrls, concurrency, locale, proxyConfiguration | Size, 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.