
Platform update
ASC GA4 Standard v1.2 — Dealership Analytics Without a Separate Session
Carvia widgets emit ASC GA4 v1.2 events through a secure iframe-to-parent postMessage bridge into window.asc_datalayer.events, GTM dataLayer as dl_<event> + eventModel, and parent gtag when already present — on by default, without extra pageviews on injected VDPs.
Release Overview
Carvia widgets now support the Automotive Standards Council (ASC) GA4 Standard v1.2 without creating a separate analytics session inside the iframe.
Interactions that Carvia actually owns — report navigation, configuration, CTAs, and the Get My Full Report lead form — are mapped to canonical ASC events and forwarded through a secure parent-page SDK listener. Events are written to window.asc_datalayer.events with the real asc_* name. GTM receives { event: "dl_<asc_event>", eventModel } so ASC GTM-5FC28SQ tags can listen without double-counting GA4. If the dealer page already loaded gtag, the parent SDK also forwards the event with existing dealer Measurement IDs as send_to. Carvia never invents those IDs or loads gtag.js inside the iframe. Your consent and attribution stay in place. Carvia's first-party carvia_* widget analytics is unchanged and is not renamed to ASC.
What's New
- Secure iframe-to-parent
postMessagebridge with origin, source-window, envelope, and schema validation. - Dealership
asc_datalayer.eventsforwarding, GTMdl_*dataLayerevents, and optional parentgtagusing the parent page URL aspage_location. - Standardized ASC payload mapping (VIN, year/make/model, condition, MSRP when known).
- PII-safe handling: customer name, email, phone, and free-text comments never enter ASC events.
- In-page VDP widgets do not fire
asc_pagevieworasc_item_pageview— the dealer site already owns those. - Duplicate prevention for the parent listener; share-form engagement is
starton the first field andengageon later fields. - Persistent compliance documentation and Cursor rule so future widget features are checked against the ASC catalog.
An earlier unused v1.1 mapper that required Carvia to own dealer Measurement IDs is replaced. The parent SDK only reads IDs the dealer page already published on asc_datalayer.
Implemented Event Families
Only interactions Carvia owns are tracked:
asc_cta_interactionfor explicit CTAs and outbound links.asc_menu_interactionfor carousel tabs, pagination, and swipe between report slides.asc_element_configurationfor accordions, EV controls, and cost-view toggles.asc_form_engagement,asc_form_submission, andasc_form_submission_salesfor Get My Full Report after confirmed success.
Voice, chat, video call, click-to-call, special-offer popups, media galleries, and retail/finance/trade flows are not claimed — Carvia does not currently own those experiences.
Privacy & Duplicates
Form engagement fires on each distinct field — comm_status=start for the first, engage after that — not when the modal appears and not on every keystroke. Submission fires only after the Carvia backend confirms success and returns a lead id. See Verified Details is a single asc_cta_interaction with event_action_result=popup|form. Widget injection on an existing VDP does not emit ASC pageviews.
Enablement
Disable globally with WIDGET_ASC_ENABLED=false, per client from the admin client overview (ASC tracking toggle), or per embed with CarviaWidgets.mount({ asc: false }). See docs/standards/asc-v1.2.md for the full catalog and GTM fallback snippet.