Google Tag Manager Analytics Integration – Demo & Testing

1. Track Article View

Attribute: track-article-view
Purpose: Tracks when an article is viewed on the page.
Sub-attributes:
  • tav-title – Article title
  • tav-category – Article category

The Future of Aviation Technology: AI and Machine Learning

Technology & Innovation

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi ornare, purus vitae ultrices tincidunt, urna erat pulvinar turpis, gravida dignissim est orci vitae nulla. This article demonstrates the article view tracking functionality.

2. Track Page View

Attribute: track-page-view
Purpose: Fired once per page from the layout. Do not add on blocks.
Sub-attributes:
  • tpv-type, tpv-content, tpv-section, tpv-sub-section

Page view is sent once per page via a single sentinel in the shared layout; this section is for reference only.

3. Track CTA Click

Attribute: track-cta-click
Sub-attributes: tctc-text, tctc-name, tctc-link

Hero Section – Product Demo

Request a Demo

4. Track Content Cards View

Attribute: track-cards-view
Sub-attributes: tcv-title, tcv-item, tcv-i-name, tcv-i-type, tcv-i-category, tcv-i-link

Our offerings

operations

Article

Airport Solutions

Advanced baggage tracking

Know more
trends

Press Release

Passenger Services

Self-service kiosks

Read
operations

Article

Border Control

Biometric solutions

Know more

5. Track Cards Click

Attribute: track-cards-click
Sub-attributes: tcc-id, tcc-name, tcc-type, tcc-category
operations

Article

Advanced Data Services

Duis placerat mauris ac porta gravida.

Know more
trends

Press Release

Aviation Flight Vlogs

Phasellus turpis purus, feugiat accumsan tristique.

Read

6. Track Header Click

Attribute: track-header-click
Sub-attributes: thc-section (section name, up to 4 levels up)

7. Track Footer Click

Attribute: track-footer-click
Sub-attributes: tfc-section

8. Track Share Click & Track Social Click

Attributes: track-share-click (tshc-name, tshc-platform), track-social-click (tsoc-platform)

9. Track Download Interaction

Attribute: track-download-interaction
Purpose: Tracks clicks that trigger a download.

Download our survey results today.

Get A Copy Get Another Copy

10. Track Newsletter Click

Attribute: track-newsletter-click
Sub-attributes: tnc-location

11. Track Search Interaction

Attribute: track-search-interaction on input
Sub-attributes: tsei-result, tsei-r-value, tsei-r-filter

12. Track Tab Click

Attribute: track-tab-click on tab element

13. Track Form

Attribute: track-form
Sub-attributes: tf-name, tf-type
Form error: When validation fails, invalid fires and form_error is sent. Use HTML validators (required, minlength, maxlength, type="email").
Demo Sample Form register

14. Track Video

Attribute: track-video on iframe (YouTube URL)

15. Combined Tracking Example

Purpose: Multiple tracking attributes working together.

Customer Success Story: Reducing Airport Wait Times by 40%

Case Studies

Major international airport implements SITA's advanced passenger processing system, resulting in significant improvements in passenger experience and operational efficiency.

Testing Instructions

  1. Open Developer Tools (F12)
  2. Go to the Console tab
  3. Accept analytics cookies (OneTrust – category C0002)
  4. Interact with the elements above (click, scroll, etc.)
  5. Check console for [__send] messages
  6. Inspect dataLayer: console.log(window.dataLayer)
  7. Verify events in GTM Preview mode

Expected Events

  • article_read, page_view, cta_click, cards_view, cards_click
  • header_click / footer_click, share_click / social_click
  • download_interaction, newsletter_click, search_interaction, tab_click
  • form, form_error, video

Console commands

// Check if analytics loaded
console.log(typeof window.dataLayer);  // 'object'
console.log(typeof gtag);              // 'function'

// Cookie consent
console.log(OnetrustActiveGroups);     // include 'C0002'

// View all GTM events
console.log(window.dataLayer);

// Monitor new events
window.dataLayer.push = function(obj) {
    console.log('GTM Event:', obj);
    Array.prototype.push.call(window.dataLayer, obj);
};