PRODUCT REFERENCE
The standard for naming pages and tracking user behaviour consistently across all product, analytics, and marketing tools.
Before diving into the taxonomy, these rules apply to every name in the system — page names, event names, and properties alike.
product_page is not enough. Use product_page_dress_detail or product_page_shoes_list. Context is everything.
click_add_to_cart, view_product_page, submit_checkout_form. Never name events after UI elements alone.
checkout_, account_, product_, cart_, search_.
category not cat, write product not prod. Exception: pdp (product detail page), plp (product list page), gtm are acceptable shorthand.
submit_checkout_form_v2. Never silently mutate an existing event.
Every page on the site has a canonical name used in analytics tools. These names are set in the data layer and must match exactly between the front-end implementation and the tracking plan.
| Page Name | URL Pattern | Description |
|---|---|---|
| homepage | / | Main entry point. Tracked for first-session attribution and entry channel analysis. |
| about_page | /about | Brand story and mission page. Indicator of consideration and brand interest. |
| blog_home | /blog | Blog index listing all editorial articles. |
| blog_article | /blog/[slug] | Individual article. Pass article_slug and article_category as properties. |
| lookbook_page | /lookbook/[slug] | Editorial/campaign lookbook. Track lookbook_name and season. |
| press_page | /press | Press mentions and media coverage. Low-frequency, brand credibility signal. |
| sustainability_page | /sustainability | Brand values and environmental commitment page. |
| contact_page | /contact | Contact form or information page. |
| faq_page | /faq | Frequently asked questions. Track which questions are expanded. |
| 404_page | /404 | Error page. Always track with referrer and intended URL for UX audit. |
| Page Name | URL Pattern | Description |
|---|---|---|
| category_page | /[category] | Top-level category listing (e.g. /shoes, /bags). Track category_name and applied filters. |
| subcategory_page | /[category]/[subcategory] | Subcategory listing (e.g. /shoes/heels). Track subcategory_name, sort order, filters. |
| product_detail_page | /p/[product-slug] | Individual product page (PDP). Track product_id, product_name, price, color, size_selected, in_stock. |
| search_results_page | /search?q= | Search results. Track search_query, results_count, has_results. |
| wishlist_page | /wishlist | User's saved items. Track items_count and whether the user is logged in. |
| cart_page | /cart | Shopping cart. Track cart_value, items_count, has_promo. |
| sale_page | /sale | Sale or promotional listing. Track promotion_name and discount_level. |
| new_arrivals_page | /new | New in or latest drops page. Track session entry vs. navigated-to. |
product_detail_page or cart_page is automatically scored for higher intent and may shift segment (e.g. from Cold to Hot prospect) if thresholds are met. This linkage between page tracking and segmentation is managed by the data team. See User Segments for thresholds.
| Page Name | Step | Description |
|---|---|---|
| checkout_start | Step 1 | Entry into checkout. Track cart_value, items_count, user_type (guest/logged-in). |
| checkout_address | Step 2 | Delivery address form. Track address_autocompleted, country. |
| checkout_shipping | Step 3 | Shipping method selection. Track method_selected, estimated_delivery. |
| checkout_payment | Step 4 | Payment entry. Track payment_method, promo_applied, promo_code. |
| checkout_review | Step 5 | Order review before confirmation. Track total_value, item_count. |
| order_confirmation | Step 6 | Purchase confirmed. Track order_id, revenue, is_first_purchase, user_segment. |
| checkout_error | Error | Payment or validation error during checkout. Track error_type, step_from, payment_method. |
| Page Name | URL Pattern | Description |
|---|---|---|
| account_login | /account/login | Login page. Track method (email/google/apple), from_page. |
| account_register | /account/register | Account creation. Track referral_source, promo_opt_in. |
| account_dashboard | /account | My account overview. Track logged-in status, order_count. |
| account_orders | /account/orders | Order history. Track orders_displayed. |
| account_order_detail | /account/orders/[id] | Single order detail. Track order_id, order_status, days_since_purchase. |
| account_returns | /account/returns | Returns portal. Track return_reason, order_id, product_id. |
| account_settings | /account/settings | Profile and preferences settings. Track section visited. |
| loyalty_page | /account/loyalty | Loyalty programme status. Track tier, points_balance. |
| tracking_page | /track/[id] | Shipment tracking. Track order_id, carrier, delivery_status. |
Events capture specific user actions. They are the raw material of all funnel analysis, A/B testing, and behaviour-based segmentation. Follow the verb-object pattern without exception.
view_pagepage_name, referrer, utm_sourcesearch_query_submittedquery, results_countfilter_appliedfilter_type, filter_value, page_namesort_appliedsort_by, page_nameimage_gallery_viewedproduct_id, image_indexclick_add_to_cartproduct_id, price, quantity, size, colorcart_item_removedproduct_id, price, cart_value_aftercheckout_startedcart_value, items_count, has_promopromo_code_appliedpromo_code, discount_amount, discount_typepurchase_completedorder_id, revenue, items_count, is_first_purchase, payment_methodcheckout_abandonedstep_abandoned, cart_value, time_in_checkoutaccount_createdmethod, referral_source, promo_opt_inlogin_completedmethod, from_pagewishlist_item_addedproduct_id, from_pagereturn_initiatedorder_id, product_id, reasonEvery part of the tracking system has a designated owner. No new events, page names, or properties should be created without approval from the relevant owner.