| # | Parameter | Type | Events | Example value | Notes |
|---|
| # | Variable Name | Data Layer Variable Name | Used In Event(s) |
|---|---|---|---|
| page_view | |||
| 01 | dlv - page_name | page_name | page_view |
| 02 | dlv - page_category | page_category | page_view |
| 03 | dlv - page_type | page_type | page_view |
| 04 | dlv - content_group | content_group | page_view |
| 05 | dlv - page_author | page_author | page_view |
| select_content | |||
| 06 | dlv - content_type | content_type | select_content |
| 07 | dlv - content_id | content_id | select_content · post_engagement |
| 08 | dlv - content_name | content_name | select_content · post_engagement |
| 09 | dlv - item_list_name | item_list_name | select_content |
| 10 | dlv - destination_url | destination_url | select_content |
| generate_lead | |||
| 11 | dlv - form_name | form_name | generate_lead |
| 12 | dlv - form_id | form_id | generate_lead |
| 13 | dlv - subject | subject | generate_lead |
| 14 | dlv - budget | budget | generate_lead |
| 15 | dlv - message_word_count | message_word_count | generate_lead |
| 16 | dlv - message_char_count | message_char_count | generate_lead |
| 17 | dlv - message_filled | message_filled | generate_lead |
| 18 | dlv - email_sha256 | email_sha256 | generate_lead |
| orbit_interaction | |||
| 19 | dlv - orbit_pause | orbit_pause | orbit_interaction |
| 20 | dlv - skill_hover | skill_hover | orbit_interaction |
| search | |||
| 21 | dlv - search_term | search_term | search |
| 22 | dlv - search_results_count | search_results_count | search |
| 23 | dlv - search_has_results | search_has_results | search |
| 24 | dlv - search_term_length | search_term_length | search |
| 25 | dlv - search_section | search_section | search |
| 26 | dlv - search_active_filter | search_active_filter | search |
| post_engagement | |||
| 27 | dlv - action | action | post_engagement |
| # | Trigger Name | Type | Event Name / Fires On |
|---|---|---|---|
| 01 | All Pages | Page View – Window Loaded | All Pages |
| 02 | CE - page_view | Custom Event | page_view |
| 03 | CE - select_content | Custom Event | select_content |
| 04 | CE - generate_lead | Custom Event | generate_lead |
| 05 | CE - orbit_interaction | Custom Event | orbit_interaction |
| 06 | CE - search | Custom Event | search |
| 07 | CE - post_engagement | Custom Event | post_engagement |
| # | Tag Name | Tag Type | GA4 Event Name | Trigger | Key Parameters / Notes |
|---|---|---|---|---|---|
| 01 | GA4 - Configuration | Google Tag | — | All Pages | send_page_view: false · Tag ID: G-25V933JKJD |
| 02 | GA4 - page_view | GA4 Event | page_view | CE - page_view | page_name · page_category · page_type · content_group · page_author |
| 03 | GA4 - select_content | GA4 Event | select_content | CE - select_content | content_type · content_id · content_name · item_list_name · destination_url |
| 04 | GA4 - generate_lead | GA4 Event | generate_lead | CE - generate_lead | form_name · form_id · subject · budget · message_word_count · message_char_count · message_filled · email_sha256 |
| 05 | GA4 - orbit_interaction | GA4 Event | orbit_interaction | CE - orbit_interaction | orbit_pause · skill_hover |
| 06 | GA4 - search | GA4 Event | search | CE - search | search_term · search_results_count · search_has_results · search_term_length · search_section · search_active_filter |
| 07 | GA4 - post_engagement | GA4 Event | post_engagement | CE - post_engagement | content_id · content_name · action |
| # | Display Name | Event Parameter | Scope |
|---|---|---|---|
| Page | |||
| 01 | Page Name | page_name | Event |
| 02 | Page Category | page_category | Event |
| 03 | Page Type | page_type | Event |
| 04 | Content Group | content_group | Event |
| 05 | Page Author | page_author | Event |
| Navigation / Clicks | |||
| 06 | Content Type | content_type | Event |
| 07 | Content ID | content_id | Event |
| 08 | Content Name | content_name | Event |
| 09 | Item List Name | item_list_name | Event |
| 10 | Destination URL | destination_url | Event |
| Lead Form | |||
| 11 | Form Name | form_name | Event |
| 12 | Form ID | form_id | Event |
| 13 | Subject | subject | Event |
| 14 | Budget | budget | Event |
| 15 | Message Filled | message_filled | Event |
| 16 | Email SHA-256 | email_sha256 | Event |
| Skills / Orbit | |||
| 17 | Orbit Pause | orbit_pause | Event |
| 18 | Skill Hover | skill_hover | Event |
| Search | |||
| 19 | Search Has Results | search_has_results | Event |
| 20 | Search Section | search_section | Event |
| 21 | Search Active Filter | search_active_filter | Event |
| Post Engagement | |||
| 22 | Engagement Action | action | Event |
| # | Display Name | Event Parameter | Unit |
|---|---|---|---|
| 01 | Message Word Count | message_word_count | Standard (integer) |
| 02 | Message Char Count | message_char_count | Standard (integer) |
| 03 | Search Results Count | search_results_count | Standard (integer) |
| 04 | Search Term Length | search_term_length | Standard (integer) |
generate_leadgenerate_leadUpdated all site URL references from the Vercel staging domain to the new custom domain tnkproject.com. No tracking changes — documentation update only.
https://tnk-project.vercel.app/ → https://tnkproject.com/Added new blog post "Analytics Documentation That Never Goes Stale" to tracking coverage. New page instrumented with page_view, new blog card tracked via select_content in the blog listing, and full post_engagement coverage (likes & comments via Supabase).
blog/analytics-doc-automation.html added to page_view trackingblog_card select_content entry for the doc-automation post in the blog listinganalytics_doc_automationCompleted the page_view tab to include all 14 pages currently live on the site. Previously only 5 pages were documented. Also fixed broken screenshot references from v4.1 (pv_blog_doc_automation, sc_blog_card_doc_auto) and added the missing page_view for Portfolio Security Audit.
pv_blog_doc_automation.png, sc_blog_card_doc_auto.png)Added GTM & GA4 Setup reference tab documenting the exact naming conventions for all GTM objects and GA4 configuration items. GTM container GTM-KW97DTMV deployed to all 13 site pages. GA4 property G-25V933JKJD connected.
dlv - * naming pattern)CE - * naming pattern for custom events)GA4 - * naming pattern)generate_lead marked as GA4 conversionUnified post engagement tracking into a single post_engagement event. Standardised all content_id values across events to use underscores instead of hyphens.
blog_like + blog_comment with single post_engagement eventaction parameter now carries like | unlike | commentcomment_length parameter — no longer sentcontent_id values across select_content and post_engagement now use _ separators (e.g. beautiful_dashboards)post_engagement with underscore slugsAdded post-level engagement features to all 7 blog post pages: likes (heart button with toggle) and comments (form + listing). Backed by Supabase with Row-Level Security. Two new GA4 events, two new parameters.
blog_like, blog_commentaction (like|unlike), comment_lengthpost_likes and post_commentslocalStorage["tnk_browser_id"] (UUID)First complete measurement plan for the TNK Designs portfolio. Covers all 5 events with full parameter documentation, dataLayer push examples, and per-row screenshots with element highlights.
page_view, select_content, generate_lead, orbit_interaction, searchVersioning rules
A new version is created for every major update: new event added, existing event removed or renamed, new parameter added/removed, tracking approach changed. Minor fixes (typos, broken links, screenshot refreshes) do not increment the version. Before each version bump, the current file is archived to archive/measurement_plan_vN.html.