Getting StartedReferenceBeginner

The 23 standard events: a taxonomy that maps cleanly to every ad platform

Track's canonical event catalogue — engagement, auth, lead, commerce and subscription events — with the properties each one carries, the consent purposes it needs by default and how it translates to Meta, Google, TikTok, LinkedIn and the rest.

By
Track editorial team
Published
Last reviewed
Reading time
3 min read

Key takeaways

  • 23 standard events in five categories — engagement, auth, lead, commerce, subscription — follow the GA4 recommended-event vocabulary and carry a typed envelope and commerce block.
  • Categories set the default consent purposes: commerce, lead and subscription events need the marketing purpose to reach advertising destinations.
  • Custom events must match the naming pattern and be declared in the tracking plan; undeclared ones are counted and reported but not delivered to advertising destinations.
  • Every connector ships an editable default mapping to vendor event names, and four rules keep the plan honest: one event per action, values from the source system, refunds as events, snake_case names.

The catalogue

CategoryEventsDefault purposes
engagementpage_view, view_content, search, downloadanalytics
authsign_up, loginanalytics
leadgenerate_lead, contact, book_appointmentanalytics, marketing
commerceview_item_list, select_item, view_item, add_to_wishlist, add_to_cart, remove_from_cart, view_cart, begin_checkout, add_shipping_info, add_payment_info, purchase, refundanalytics, marketing
subscriptionsubscribe, start_trialanalytics, marketing

Names follow the GA4 recommended-event vocabulary where one exists, because it is the most widely implemented data-layer shape and the SDK can observe GA4-style dataLayer pushes directly. Categories decide the default consent purposes: commerce, lead and subscription events are conversion signals that advertising platforms want, so they require the marketing purpose to reach an advertising destination; engagement and auth events are analytics by default.

Properties

Every event carries the envelope: event id, timestamp, URL (with click ids scrubbed), referrer, title, consent record, source, and — when consent allows — anonymous id, session id, user id and hashed identifiers.

Commerce events add a typed commerce block: currency, value, transaction_id, coupon, shipping, tax, and items[] with item_id, item_name, price, quantity, item_category, item_brand, item_variant. refund carries the original transaction_id and a negative or partial value.

Lead and subscription events use a small property set: lead_type, form_id, plan, interval, trial_days, value where a documented value exists.

Anything else goes into props, which is validated against the site's schema: unknown keys are reported as findings, free text is scanned for personal data, and nested objects are redacted rather than forwarded.

Custom events

Custom names are allowed when they match ^[a-z][a-z0-9_]{2,39}$, do not collide with a standard name and are declared in the tracking plan. Undeclared custom events are accepted, counted and reported as schema findings so the plan can be updated deliberately; they are not delivered to advertising destinations until mapped.

Translation to vendors

Because the vocabulary is fixed, each connector ships a default mapping:

CanonicalMetaGoogle AdsGA4TikTokLinkedInPinterestSnapchat
view_itemViewContentview_itemViewContentpage_visitVIEW_CONTENT
add_to_cartAddToCartadd_to_cartAddToCartadd_to_cartADD_CART
begin_checkoutInitiateCheckoutbegin_checkoutInitiateCheckoutSTART_CHECKOUT
purchasePurchaseconversion actionpurchaseCompletePaymentconversion rulecheckoutPURCHASE
generate_leadLeadconversion actiongenerate_leadSubmitFormconversion ruleleadSIGN_UP
sign_upCompleteRegistrationconversion actionsign_upCompleteRegistrationconversion rulesignupSIGN_UP
subscribeSubscribeconversion actionSubscribeconversion ruleSUBSCRIBE
start_trialStartTrialconversion actionStartTrialconversion ruleSTART_TRIAL

A dash means the vendor has no standard equivalent; you can map to a custom vendor event or leave the row disabled. Every default is editable per destination, and every change is versioned and shows in the publish diff.

Rules that keep the plan honest

  • One event per user action. purchase fires once per order, from whichever source is authoritative for that site (browser, shop webhook or server), with the same event id or order id on every path.
  • Values come from the source system. There is no default value; an unmapped value is null, and a vendor that requires one rejects the row visibly.
  • Refunds are events, not edits. A refund references the original transaction; the original purchase is never rewritten.
  • Names are lowercase snake case. Vendor casing (CompletePayment, PURCHASE) is the connector's concern.

Primary sources

Documentation and standards this article is based on.

  1. Google Analytics — Recommended eventssupport.google.com
  2. Meta — Standard eventsdevelopers.facebook.com

Was this article helpful?

Responsible editor

Track editorial team

Product & engineering

The people building Track: engineers and analysts who work on server-side tracking, consent tooling and connector integrations every day.