Data Collection Guide
Event Tracking Flow
Section titled “Event Tracking Flow”- ASAP Script Loading: The ASAP script is loaded through Cloudflare Workers on each page to populate the dataLayer and set up event listeners.
- Tag Management: Google Tag Manager sends GA4, Google Ads, and Rudderstack events based on predefined triggers.
- Note: The RV Complete mobile app sends Rudderstack events based on code added directly in the app.
- Data Routing: Events are routed into Databricks.
- Rudderstack events: Stored in a staging ADLS, then saved into the
rudderstack_prodcatalog in Databricks. - GA4 events: Exported to daily BigQuery, then saved into the
raw.ga4.eventstable in Databricks.
- Rudderstack events: Stored in a staging ADLS, then saved into the
Frontend Tracking
Section titled “Frontend Tracking”Cloudflare Worker (ASAP Script)
Section titled “Cloudflare Worker (ASAP Script)”The ASAP script acts as a critical layer for data collection and resiliency.
Functionality
Section titled “Functionality”-
Scrapes and Tracks Website Data The script scans the webpage to find and parse product & location information. It then sends this data to Google Tag Manager (dataLayer) and RudderStack to enrich event attributes.
-
Tracks and Captures Lead Forms It attaches listeners to lead generation forms on the site to capture user input (name, email, phone) in real-time. When a form is submitted, it identifies the user in Rudderstack.
-
Integrates with Third-Party Services Monitors user activity inside iframes (Kenect, Netsource, & AutoAPR) to track user interactions and form submissions that occur within these third-party services from the parent window.
-
Adds Tracking Resiliency Is loaded and sends all Rudderstack events using a same-domain endpoint to allow cookies to last longer and helps to get around basic ad blockers (
[hostname]/asap-cgi/*).
Considerations
Section titled “Considerations”- Loading Order: Needs to load after Ketch but before Rudderstack & GTM on the websites.
- Deployment: Deployed as a Cloudflare Worker so that it can operate on the same domain and operate at a low cost.
- Updates: Updated using Wrangler, the CLI tool for CF Workers.
- Version Control: Stored in Github for easy rollbacks.
- Debugging: You can see events logged into the Chrome console for easy debugging.
Google Tag Manager
Section titled “Google Tag Manager”Google Tag Manager (GTM) serves as the primary orchestration layer for firing tracking tags.
- Tag Firing: Allows you to fire tags (JS snippets) based on triggers.
- Custom Variables: Custom variables are defined to pickup website vendor, dealer location, and vehicle data.
- Event Properties: These variables are then used as event properties in GA4 tags.
- Debugging: Has the ability to preview/debug what tags fire when interacting with the website.
- Version Control: Built-in version control and the ability to import & export tags, triggers, and variables.
Events Guide
Section titled “Events Guide”Standardizing event names and parameters is crucial for ensuring that all employees, vendors, and tools are aligned on data definitions. This shared understanding allows for consistent reporting, accurate attribution, and seamless integration across platforms.
View Full Event Guide (Google Sheets)
Standard Events
Section titled “Standard Events”- Page Views: Tracked across all pages
- Clicks: Key interactions (directions, calls, etc.)
- Search: Site search functionality
- Ecommerce:
- View Item List
- View Item
- Begin Checkout
- Purchase
Custom Events
Section titled “Custom Events”- Form Submissions:
- Lead Forms (Sales, Service, Finance, Trade-in)
- General Contact
- Third-party forms (AutoAPR, Kenect, Netsource)
- User Actions:
- RV Show forms