AddEvent Google Analytics Tracking

AddEvent supports Google Analytics 4 (GA4) tracking on event pages, calendar pages, and embeddable widgets. When enabled, user interactions such as clicking Add to Calendar, following a calendar, and completing an RSVP are automatically sent as custom events to your GA4 property. This document explains how to enable tracking and provides a complete reference for all tracked events and supported parameters.

Setup

Step 1 — Add the Tracking Snippet

Add the following HTML snippet to the custom template or design section of your AddEvent page.

This is the only change required to enable Google Analytics tracking.

<div id="tracking" class="hide">
  <span id="tracking-vendor">google-analytics</span>
  <span id="tracking-key">G-XXXXXXXXXX</span>
</div>

Replace G-XXXXXXXXXX with your Google Analytics Measurement ID.

Do not share your Measurement ID publicly.


Step 2 — Configure the Values

Element IDRequiredDescription
tracking-vendorYesThe tracking vendor. Must be set to google-analytics.
tracking-keyYesYour GA4 Measurement ID (G-XXXXXXXXXX). Found in Google Analytics under Admin → Data Streams → your stream.
tracking-debugNoSet to true to enable GA4 DebugView for live event verification. Set to false or omit in production.

Step 3 — Find Your Measurement ID

  1. Go to analytics.google.com
  2. Navigate to Admin → Data Streams
  3. Select your web data stream
  4. Copy the Measurement ID (G-XXXXXXXXXX)

Step 4 — Verify with DebugView (Optional)

To see live events in Google Analytics for debugging purposes, add <span id="tracking-debug">true</span> to the snippet. The full snippet should look like this:

<div id="tracking" class="hide">
  <span id="tracking-vendor">google-analytics</span>
  <span id="tracking-key">G-XXXXXXXXXX</span>
  <span id="tracking-debug">true</span>
</div>

Remember to replace G-XXXXXXXXXX with your Google Analytics Measurement ID.

Once you have "tracking-debug" set to true, open Google Analytics DebugView to see events arriving in real time

Remember to set tracking-debug back to false after testing. Debug mode should not remain enabled in production.


UTM Tracking

When tracking is enabled, UTM attribution is captured automatically.

The tracking script reads UTM parameters from the page URL and includes them in RSVP conversion events sent to GA4. This allows RSVP completions to be attributed to specific marketing campaigns without additional configuration.


How UTM Values Are Resolved

The tracking script resolves UTM values in the following order of priority:

PrioritySourceDescription
1Google Ads (gclid)If a gclid parameter is present in the URL, UTM values are automatically set to reflect a paid Google Ads click. This takes highest priority.
2URL parametersStandard UTM parameters in the page URL (utm_source, utm_medium, utm_campaign, utm_content, utm_term) are read directly.
3ReferrerIf utm_source is absent, the referring domain is used as the source. Common domains are shortened automatically (for example, google.com becomes google).
4DefaultsIf no UTM data is available, defaults are applied (source: direct, medium: organic, campaign: organic).

Google Ads (gclid) Example

When a visitor arrives via a Google Ads click, the URL contains a gclid parameter alongside any UTM parameters configured in the campaign.

Example:

https://www.addevent.com/event/abc123
  ?utm_source=google
  &utm_medium=cpc
  &utm_campaign=spring-2026
  &utm_term=events
  &utm_content=banner
  &gclid=EAIaIQobChMI1234567890

When gclid is detected, the tracking script ignores the UTM parameters in the URL and automatically sets the following values:

ParameterAuto-set Value
utm_mediumcpc
utm_sourcegoogle
utm_campaignValue from URL utm_campaign, or google-ads if absent
utm_termValue from URL utm_term if present
utm_contentValue from URL utm_content if present

If gclid is absent, the following URL parameters are used directly as provided:

  • utm_source
  • utm_medium
  • utm_campaign
  • utm_content
  • utm_term

The RSVP Conversion Event

When a visitor completes an RSVP, the following GA4 event is fired with the resolved UTM data attached:

GA4 Event NameFired When
addevent_rsvpThe RSVP confirmation becomes visible after a successful submission

Event Reference

All custom GA4 events fired by the AddEvent tracking script use the addevent_ prefix.


Event Page — Normal

GA4 Event NameTriggerNotes
addevent_event_atc_clickAdd to Calendar button clickedIncludes event_id parameter
addevent_event_atc_type_selectedCalendar app selected from ATC dropdownIncludes event_id and calendar_type parameters
addevent_event_share_openShare dialog opened

Event Page — RSVP

Includes all events from Event Page — Normal, plus:

GA4 Event NameTriggerNotes
addevent_event_rsvp_openRSVP button clicked to open form
addevent_event_rsvp_responseGoing / Interested / Can't go selectedIncludes rsvp_response and rsvp_response_value parameters
addevent_event_rsvp_submitRSVP form submittedIncludes rsvp_response_value parameter
addevent_event_rsvp_confirmed_goingGoing confirmation becomes visible
addevent_event_rsvp_confirmed_interestedInterested confirmation becomes visible
addevent_event_rsvp_confirmed_cantgoCan't go confirmation becomes visible

Calendar Page — Normal

GA4 Event NameTriggerNotes
addevent_calendar_follow_clickFollow Calendar button clickedPrimary conversion. Includes calendar_id parameter
addevent_calendar_follow_type_selectedCalendar app selected from Follow dropdownIncludes calendar_id and calendar_type parameters
addevent_calendar_event_atc_clickATC clicked on an event in the listIncludes event_id parameter
addevent_calendar_event_atc_type_selectedCalendar app selected from event ATC dropdownIncludes event_id and calendar_type parameters
addevent_calendar_event_link_clickEvent title clicked through to event pageIncludes event_title and event_url parameters
addevent_calendar_share_openShare dialog opened
addevent_calendar_about_expandAbout following a calendar section expanded

Calendar Page — RSVP

Includes all events from Calendar Page — Normal, plus:

GA4 Event NameTriggerNotes
addevent_calendar_rsvp_openPer-event RSVP form becomes visibleIncludes event_title parameter
addevent_calendar_rsvp_confirmedRSVP confirmation becomes visible

Embeddable Calendar Widget

GA4 Event NameTriggerNotes
addevent_cal_embed_follow_clickFollow Calendar button clickedPrimary conversion. Includes calendar_id parameter
addevent_cal_embed_follow_type_selectedCalendar app selected from Follow dropdownIncludes calendar_id and calendar_type parameters
addevent_cal_embed_event_atc_clickATC clicked inside event detail popupIncludes event_id parameter
addevent_cal_embed_event_atc_type_selectedCalendar app selected from popup ATC dropdownIncludes event_id and calendar_type parameters
addevent_cal_embed_view_switchView switched between Month / Week / ScheduleIncludes view parameter
addevent_cal_embed_nav_prevPrevious period navigation clicked
addevent_cal_embed_nav_nextNext period navigation clicked
addevent_cal_embed_nav_todayToday button clicked
addevent_cal_embed_event_openEvent detail popup openedIncludes event_title parameter
addevent_cal_embed_event_page_linkExternal event page link clicked in popupIncludes event_title parameter
addevent_cal_embed_event_rsvp_clickRSVP now clicked in popupIncludes event_title parameter

Embeddable Events List Widget

GA4 Event NameTriggerNotes
addevent_cal_list_embed_follow_clickFollow Calendar button clickedPrimary conversion. Includes calendar_id parameter
addevent_cal_list_embed_follow_type_selectedCalendar app selected from Follow dropdownIncludes calendar_id and calendar_type parameters
addevent_cal_list_embed_event_atc_clickATC clicked on an individual eventIncludes event_id parameter
addevent_cal_list_embed_event_atc_type_selectedCalendar app selected from event ATC dropdownIncludes event_id and calendar_type parameters
addevent_cal_list_embed_event_link_clickEvent title link clicked through to event pageIncludes event_title and event_url parameters

Event Parameters

The following parameters are included alongside events where applicable.

ParameterTypeDescription
event_idstringThe AddEvent internal ID of the event associated with the ATC button.
calendar_idstringThe AddEvent internal ID of the calendar associated with the Follow button.
calendar_typestringThe calendar service selected (for example, Google, Apple, Outlook, iCal).
event_titlestringThe title of the event, extracted from the page or popup.
event_urlstringThe URL of the event page, where applicable.
rsvp_responsestringThe RSVP response selected (Going, Interested, Can't go).
rsvp_response_valuestringThe numeric value of the RSVP response (1=Going, 2=Interested, 3=Can't go).
viewstringThe calendar view selected (month, week, schedule).
utm_sourcestringThe traffic source resolved at RSVP conversion time.
utm_mediumstringThe traffic medium resolved at RSVP conversion time.
utm_campaignstringThe campaign name resolved at RSVP conversion time.
utm_contentstringThe content parameter resolved at RSVP conversion time.
utm_termstringThe search term resolved at RSVP conversion time.

Troubleshooting

Events Are Not Appearing in GA4

  • Confirm the tracking snippet is present in your custom template with a valid tracking-key value.
  • Set tracking-debug to true and check GA4 DebugView to confirm events are arriving in real time.
  • Standard GA4 reporting can be delayed by up to 24 hours. Use DebugView during setup and testing.

Events Are Firing Twice

Ensure the tracking snippet appears only once in your template.

Duplicate snippets will cause duplicate events.


UTM Values Are Showing as direct or organic

  • Confirm your UTM parameters are present and correctly formatted in the page URL when sharing campaign links.
  • If traffic arrives via Google Ads, the gclid parameter automatically overrides URL UTM values.

DebugView Shows No Data

  • Confirm tracking-debug is set to true (not True or 1).
  • Make sure you are logged into the correct Google Analytics account and viewing the correct GA4 property.