Your site describes what visitors do by pushing small messages, called events, into the page's dataLayer. Google Tag Manager reads them and passes them on to GA4, Google Ads or anything else you set up. This page lists every event, when it fires, and the fields it carries.
The events are there on every public page whether or not you've connected a container. Nothing reaches GA4 or Google Ads until you add tags in GTM that use them.
Using an event in Tag Manager
- To fire a tag on an event, create a trigger of type Custom Event and enter the event name exactly as it appears below. Names are case-sensitive.
- To read a field, create a variable of type Data Layer Variable with the field name, for example
page_type. For a field inside another field, join the names with a dot, for exampleenhanced_conversion_data.email.
Page views
page_view
Sent once on every public page, before Tag Manager loads, so its fields are available to any tag on that page.
page_type: what kind of page it is. One ofhome,page,blog_list,blog_post,docs_list,docs_article,gig_list,gig,project,thank_youortemplate_gallery.content_id: the ID of the page, post, gig or project. Empty on the homepage and on listing pages.content_title: its title.ab_testandab_variant: only on a page with a running A/B test. The test's ID, and whether this visitor sees thecontrolor thevariant.site_typeandtenant_plan: added on sites we host, for our own reporting. You can ignore them.
GA4 can record page views by itself as soon as its Google tag loads. If you also send a GA4 page view from this event, every visit is counted twice, so use one or the other.
Editor previews and template previews never send it, so your own editing doesn't show up as traffic.
blog_post_view and docs_article_view
Sent straight after page_view on a blog post or a documentation article, with the same content_id and content_title. You only need these if you want a trigger for posts alone; page_view already covers them.
gig_view
Sent after page_view on a gig's own page.
gig_id,gig_titleandvenue.gig_date: the date of the show, such as2026-11-14.
project_view
Sent after page_view on a project's own page, with project_id, project_title and category.
Forms
contact_form_start
Sent once per page view, the first time someone clicks into or changes a field on a form. Every form sends it under this same name, whether it's for contact, bookings or a newsletter, so one trigger covers them all. Comparing it with the submission event below shows how many people start a form but don't send it.
form_id: the form's ID. Empty for the site's built-in contact form.form_name: the name you gave the form under Forms, orContact formfor the built-in one.
The submission event: generate_lead by default
Sent when a form has been submitted successfully: it passed the spam check and was saved. Failed or blocked attempts don't send it. If the form sends people to another page afterwards, it waits a moment first so the event can go out.
You choose its name per form under Forms, in the form's Enhanced conversions box (dataLayer event name). Giving every lead form the same name, such as generate_lead, means one trigger covers all of them; form_name still tells them apart. The built-in contact form always uses generate_lead.
form_idandform_name, as above.enhanced_conversion_data: only when you've given form fields an enhanced-conversion type. It holds what the visitor typed into those fields, using Google's names:email,phone_number,first_name,last_name,street,city,region,postal_codeandcountry.
Use enhanced_conversion_data for Google Ads enhanced conversions. It's personal information, and Google's policies forbid personal information in GA4 event parameters and user properties. So never add it to a GA4 event tag. Send the event to GA4 with form_name and leave the contact details out. (GA4 does have a separate, opt-in user-provided data collection feature for this kind of data. It's switched on in GA4's admin, not through event parameters.)
If the same page has more than one form, each submission carries only its own visitor's details, never fields left over from an earlier one.
Clicks
social_click
Someone clicked one of your social media icons. platform is facebook, youtube, instagram, linkedin or other, and url is the link.
gig_ticket_click
Someone clicked the ticket button on a gig's page, with gig_id, gig_title and link_url, the ticket link they followed. The ticket seller's own site is where the sale happens, so this is as close to a sale as your site can see.
project_link_click
Someone clicked a link on a project's page, with project_id, link_title and link_url.
filter_projects
Someone used the category buttons on a project grid. category is the one they chose, or all.
What is never sent
- Nothing that identifies a visitor, except the contact details in
enhanced_conversion_datawhen you've chosen to tag form fields. - Nothing from the admin panel, the page editor's preview or the template gallery's previews.
Every page is a full page load, so there are no in-page navigations to track separately: each new page sends its own page_view.