Commanders Act X
Platform XDocumentationWelcome to Success
  • Welcome !
  • Platform updates
    • Announcements
    • Documentation updates
    • Release notes
  • Getting started
    • How the platform works
      • Glossary
        • Condensed platform concepts
    • Platform interface
      • Prod and Testing environments
      • Productivity tools
        • Commander's AI
    • Integrating your data
      • GTM Tutorial
      • OneTag Tutorial
      • Migration guides to the Platform X
        • Migrate from SSv1 to SSv2
          • Send data to serverside v2
            • Purchase event example (ssv1 to ssv2)
        • Migrate from old mobile sdk
  • Features
    • Sources
      • Sources Overview
      • Sources Catalog
        • Web
          • Web container
            • User guides for browser-side platform
              • Container
                • Hosting
                • Creation and modification
                • Generation
                • Testing
                • Deployment and roll back
                • Deletion
                • Statistics
                • Modification history
                • Javascript block
                • Branches
                • Plugin Commanders Act Assistant
              • Tags
                • Add tags
                • Configure tags
                • Rules
                  • Basic actions
                  • Triggers
                  • Perimeters & constraints
              • Data layer and data types
                • External variables
                • Internal variables
                • Event variables
                • Data storage
              • Deduplication
                • Setup guide
                • Setup example
                • Deduplication reports
              • TagPerformance
                • Setup guide
                • Report analysis
                • Troubleshooting
            • Setup guides for developers
              • Web container setup
              • Datalayer setup
              • Browser-side events setup
              • AMP
              • Angular
              • AngularJS
              • React
              • SPA implementation guide
              • VueJS
              • IOT & TV Apps
            • Best Practices
              • FAQ
              • Common Container Strategies
              • Common Trigger Strategies
              • Performance Optimization
              • tC.* attributes and methods
              • APIs
                • Onsite API
              • TMS & Consent banners IDs
          • Javascript SDK
            • Next.js serverside rendering
          • Pixel Tracking API
          • Google Tag Manager (GTM)
          • Shopify
        • Mobile APP
          • Android
          • iOS
          • Flutter
          • React native
        • Advertising
          • Bing Ads (cost import)
          • Facebook Ads (cost import)
          • Criteo (cost import)
          • Realytics
        • Import CRM users
          • API users
          • Users file importer
        • Import conversions
          • API Conversions and Product catalog
          • Conversions files importer
        • Product catalog
          • Product catalog files importer (FTP)
        • Server
          • HTTP tracking API source
            • (deprecated) HTTP tracking API source 1.0
          • Node.JS
          • Python
          • PHP
      • Source Live Event Inspector
      • Source data quality
    • Destinations
      • Destinations overview
        • Automatic Audience replay
      • Destinations catalog
        • AbTasty
        • Actito
        • Adform
        • Adobe
          • Adobe Analytics
          • Adobe Campaign
        • AdRoll
        • Adition
        • Adventori
        • Affilae
        • Alphalyr Marketing Studio
        • Amazon
          • Amazon Ads Conversions API
          • Amazon S3
        • Attraqt
        • Awin
        • Batch Audience
        • Branch Events
        • Button
        • Campaign Analysis Legacy
        • Commission Junction
        • Criteo
          • Criteo - Events
          • Criteo (audiences)
          • Criteo (offline conversions)
        • Data Activation Legacy
        • Dataventure
        • Destination Logs Exporter (closed beta)
        • Dialog-Mail
        • Dynamic Yield
        • Easyence
        • Effinity
        • Eloqua
        • Emarsys
        • Email export
        • Equativ Audience
        • Experian
        • Facebook
          • Facebook Conversions API
            • Facebook CAPI through GTM
            • Performance tab (Event Match Quality)
          • Facebook Custom Audiences
          • Facebook Lead Ads
        • FTP
        • Gamned
        • Google
          • Google Analytics 4
            • Google Analytics 4 - Proxy Mode
          • Google BigQuery
          • Google Conversion Adjustments
          • Google Customer Match
          • Google Display & Video 360
          • Google Enhanced Conversions
          • Google Enhanced Conversions for Leads
          • Google Floodlight Mobile App Conversion
          • Google Search Ads 360 Enhanced Conversions
          • Google Store Sales Direct
        • IBM
        • Inxmail
        • IntelliAd
        • Jellyfish
        • Kameleoon
          • Kameleoon Audience
          • Kameleoon Events
        • Kelkoo
        • Kwanko
        • LinkedIn Conversions API
        • Liveramp
        • Magento
        • Marin Software
        • Mapp
        • Matomo
        • MediaMath
        • Microsoft Advertising Universal Event Tracking
        • Mindlytix
        • Moebel
        • Nextdoor Conversion API
        • OXID
        • Optimizely
        • Outbrain
        • Partnerize
        • Piano Analytics
          • Piano Analytics Collection API
          • Piano Analytics Enrichment API
        • Pinterest
        • Piwik PRO
        • Prediggo
        • Qlik
        • Quantcast
        • Quora Ads Conversion API
        • Rakuten
          • Rakuten Audience
          • Rakuten Events
        • Realytics
        • Reddit Conversions API
        • Responsys
        • RhythmOne
        • Rich Relevance
        • RTB House Audience
        • Salesforce
          • Salesforce Audience Studio
          • Salesforce Marketing Cloud
          • Salesforce Commerce Cloud
        • SAP Commerce Cloud
        • Selligent
        • Skai
        • Smart Adserver
        • SmartFocus
        • Snapchat Conversions API
        • Splio
        • Syte
        • Tableau Online
        • Taboola
          • Taboola Audience
          • Taboola Events
        • Target2sell
        • Temelio
        • Teradata
        • The Trade Desk
          • The Trade Desk Conversions API
          • The Trade Desk Audience
        • TikTok
          • TikTok Events API
          • TikTok Offline Events
        • TimeOne
        • Tradedoubler
        • TradeTracker
        • X (Twitter) Conversion API
        • Xandr
        • Webhook
        • Webtrends
        • ZBO Media
        • Zeta
      • Destination builder
        • Javascript destination builder
          • Tutorial - How to build a server destination with the JS sandbox
          • Serverside javascript helpers
      • Destination filters
      • Mapping and Properties transformation
      • Event delivery
      • Destination event inspector
      • Dry mode (lab)
    • Enrichments
      • Augmented User Attributes
        • Business case
      • Events enrichment
      • Storage Settings
    • Data Quality
      • Event Specification
      • Sources data quality
      • Data cleansing
        • Supported transformation functions - Data cleansing
          • Format a date
    • Identity resolution
      • Migrate from Fuse v1 to Fuse v2
    • Customers
      • Segment
        • Segment overlap
        • Segment stats
    • Explore
      • Campaign analysis
        • Attribution
        • Control Group (Closed Beta )
      • User analysis
        • Dashboards
      • Consent Analysis
    • Consent management
      • Responsability of actors
      • Setup Guides
        • Tag Manager
          • Commanders Act TMS
          • Google Tag Manager (GTM)
          • Google Tag Manager (GTM) - Consent Mode
          • Google Consent Mode in Commanders Act CMP
          • Adobe Launch
        • Websites (Hardcoded)
        • FR : Suppression des cookies lors du retrait du consentement
        • Mobile apps
          • iOS
            • ATT - App Tracking Transparency (iOS 14.5+)
          • Android
      • User Guides
        • Categories & Tags
          • Manage Categories
          • Manage Vendors
          • Assign Categories
        • Privacy Banners
          • Banner Templates
            • Accessibility Template
          • Manage Banner
          • Deploy Banner
          • Copy Banner
        • Consent Analysis
        • Exports
        • Settings
      • Extensions
        • Cookie Scanner
        • Piggybacking
        • Tag Firewall
      • Marketing Preferences Center (additional module)
      • Knowledge Base
        • Consent Object
        • Consent cookies exemption
          • Implementation guide for exempted consent statistics FR market
        • Consent Cookie
        • IAB TCF V2.2 Release details
          • IAB TCF v2.2 CMP requirements
          • IAB TCF v2.2 Migration guide Web
          • IAB TCF v2.2 Migration guide App
        • IAB TCF V2.2 Consent
        • IAB TCF V2.2 and Google FAQ
        • Google ACM requires IAB TCF
        • CCPA & Global Privacy control
      • Rest Data API
        • GET/PUT Consents / preferences
      • OnSite API
        • Getting Started
        • consent.get
        • consent.update
        • consent.revoke
        • consent.onUpdate
        • consent.onReady
        • consentBanner.show
        • consentBanner.hide
        • consentCenter.show
        • consentCenter.hide
      • Platform API
        • Get statistics
  • Use cases
    • Data activation
      • Engage new customers
        • Welcome banner for new customers
        • Real-time promotion for hesitant customers
        • Discount banner for installing the application
        • Personalized ads
        • Engage similar audience (lookalike)
      • Increase loyalty
        • Drive to favourite store
        • Increase Customer Lifetime Value with a loyalty program
        • Notification about order delay
      • Increase revenue
        • Abandoned cart
        • Products recommendations
        • Complementary product offer
      • Retain customers
        • Identify a churn risk with RFM segmentation
        • Identify customers’ preferred channel
        • Contact with the customer support
      • Advocacy
        • Incentive to share customers' experience and rating
        • Sponsorship Program
        • Social Media Hashtag
    • Website performance
    • Consent banners A/B testing
    • Customer analysis
    • Campaigns performance analysis
  • Developers
    • Tracking & Integrations
      • Tracking
        • About events
          • E-commerce/retail events
          • Web event specificity
          • Mobile App event specificity
        • Events reference
          • Common events
          • E-commerce events
          • Video events
          • Campaign Tracking events
        • Properties reference
          • Global properties
          • Video properties
          • Permanent properties
        • Data API
          • HTTP API
          • Segment API
          • User API
          • Product catalog and conversion API
      • Server IP Whitelisting
    • Config API
    • Changelogs
      • Measure.js changelog
      • Web container generator
    • Content Security Policy
  • CONFIGURE
    • Data Management
      • Events collection
      • Data retention duration
      • Data Governance
    • Administration
      • User management
      • Domain Management
        • WAF Proxy (CloudFlare,...)
        • A record
        • CNAME record
        • On-Premise Proxy
        • Cookie CAID
        • First party hosting
      • Single Sign-On
      • Two-factor authentication (2FA)
      • Copy Management
    • Cookies
      • Cookie 1st
      • Cookie sync partners
      • First domain tracking (Phoenix)
    • Disclaimer
Powered by GitBook
On this page
  • page_view
  • login
  • search
  • select_content
  • sign_up
  • - COMMON SCHEMAS -
  • User

Was this helpful?

Edit on GitHub
Export as PDF
  1. Developers
  2. Tracking & Integrations
  3. Tracking
  4. Events reference

Common events

page_view

The page_view call lets you record whenever a user sees a page of your website, along with any optional properties about the page.

Parameters (required and recommended)

Name
Type
Required
Example Value
Description

page_type

string

Yes

product_list

Page category. Recommended predefined types:

  • home

  • landing

  • product_list

  • product

  • content_list

  • content

  • search

  • funnel

  • success

  • funnel_confirmation

  • account

  • cart

  • legal (e.g. Privacy Policy)

Equivalent to tc_vars.env_template

page_name

string

No

Suggestion for Mother's Day

Name of the page.

user

Yes

{ id: '12345', email: 'toto@domain.fr',

consent_categories: [1,3]

}

consent_categories is the user's consents list. It is automatically filled from web sources if you use Commanders Act CMP.

You should also add all user's properties in this user object, especially reconciliation key (id, email).

type (deprecated)

string

No

product_list

Page category.

Automatically added parameters by cact API for web sources

Name
Type
Required
Example Value
Description

user

Yes

{ id: '12345', email: 'toto@domain.fr',

consent_categories: [1,3]

}

consent_categories is the user's consents list. It is automatically filled from web sources if you use Commanders Act CMP.

You should also add all user's properties in this user object, especially reconciliation key (id, email).

title

string

No

Products - MySite.com

url

string

No

path

string

No

/products/mothers

referrer

string

No

Example

cact('trigger','page_view', {
  page_type: 'product_list',
  page_name: 'Best sellers',
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
val event = TCPageViewEvent("product_list")
event.pageName = "Best sellers"
serverside.execute(event)
TCPageViewEvent event = new TCPageViewEvent("product_list")
event.pageName = "Best sellers";
serverside.execute(event);
TCPageViewEvent *event = [[TCPageViewEvent alloc] init];
event.pageType = @"product_list";
event.pageName = @"Best sellers";
[TCS execute: event];

//or you could also use it in a constructor, as follow:
TCPageViewEvent *event = [[TCPageViewEvent alloc] initWithType: @"type"];
let event = TCPageViewEvent(type: "product list")
	event?.pageName = "Best sellers"
	serverside?.execute(event)
var event = TCPageViewEvent();
    event.pageName = "event_page_name";
    event.pageType = "event_page_type";
    serverside.execute(event);
{
    "event_name": "page_view", 
        "page_type": "product_list",
        "page_name": "Best sellers"   
}

login

Send this event to signify that a user has logged in.

Parameters

Name
Type
Required
Example
Description

method

string

No

LinkedIn

The method used to login.

user

Yes

{ id: '12345', email: 'toto@domain.fr',

consent_categories: [1,3]

}

consent_categories is the user's consents list. It is automatically filled from web sources if you use Commanders Act CMP.

You should also add all user's properties in this user object, especially reconciliation key (id, email).

Example

cact('trigger', 'login', {
  method: 'LinkedIn',
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
val event = TCLoginEvent()
event.method = "LinkedIn"
serverside.execute(event)
TCLoginEvent event = new TCLoginEvent();
event.method = "LinkedIn";
serverside.execute(event);
TCLoginEvent *event = [[TCLoginEvent alloc] init];
event.method = @"LinkedIn";
[TCS execute: event];
let event = TCLoginEvent()
	event.method = "linkedin"
	serverside?.execute(event)
var event = TCLoginEvent();
    event.method = "LinkedIn";
    serverside.execute(event);
{
    "event_name": "login",
        "method": "LinkedIn"
}

search

Use this event to contextualize search operations. This event can help you identify the most popular content in your app.

Parameters

Name
Type
Required
Example value
Description

search_term

string

Yes

t-shirts

The term that was searched for.

user

Yes

{ id: '12345', email: 'toto@domain.fr',

consent_categories: [1,3]

}

consent_categories is the user's consents list. It is automatically filled from web sources if you use Commanders Act CMP.

You should also add all user's properties in this user object, especially reconciliation key (id, email).

Example

cact('trigger','search', {
  search_term: 't-shirts',
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
val event = TCSearchEvent("t-shirts")
serverside.execute(event)
TCSearchEvent event = new TCSearchEvent("t-shirts");
serverside.execute(event);
TCSearchEvent *event = [[TCSearchEvent alloc] init];
event.searchTerm = @"t-shirts";
[TCS execute: event];
let event = TCSearchEvent(searchTerm: "t-shirts")
    serverside.execute(event)
var event = TCSearchEvent();
    event.searchTerm = "t-shirts";
    serverside.execute(event);
{
    "event_name": "search",
        "search_term": "t-shirts"
}

select_content

This event signifies that a user has selected some content of a certain type. This event can help you identify popular content and categories of content in your app or click on internal promotion.

Parameters

Name
Type
Required
Example value
Description

content_type

string

No

product

The type of selected content.

item_id

string

No

I_12345

An identifier for the item that was selected.

user

Yes

{ id: '12345', email: 'toto@domain.fr',

consent_categories: [1,3]

}

consent_categories is the user's consents list. It is automatically filled from web sources if you use Commanders Act CMP.

You should also add all user's properties in this user object, especially reconciliation key (id, email).

Example

cact('trigger','select_content', {
  content_type: 'product',
  item_id: 'I_12345',
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
val event = TCSelectContentEvent()
event.contentType = "product"
serverside.execute(event)
TCSelectContentEvent event = new TCSelectContentEvent();
event.contentType = "product";
serverside.execute(event);
TCSelectContentEvent *event = [[TCSelectContentEvent alloc] init];
event.contentType = @"product";
event.itemID = @"I_12345";
[TCS execute: event];
let event = TCSelectContentEvent()
	event.contentType = "product"
	event.itemID = "I_12345"
	serverside?.execute(event)
var event = TCSelectContentEvent();
    event.contentType = "product";
    event.itemId = "I_12345";
    serverside.execute(event);
{
    "event_name": "select_content",
        "content_type": "product",
        "item_id": "I_12345"
}

sign_up

This event indicates that a user has signed up for an account.

Parameters (required and recommended)

Name
Type
Required
Example
Description

method

string

No

Facebook

The method used for sign up.

user

Yes

{ id: '12345', email: 'toto@domain.fr',

consent_categories: [1,3]

}

consent_categories is the user's consents list. It is automatically filled from web sources if you use Commanders Act CMP.

You should also add all user's properties in this user object, especially reconciliation key (id, email).

Example

cact('trigger','sign_up', {
  method: 'email',
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
val event = TCSignUpEvent()
event.method = "email"
serverside.execute(event)
TCSignUpEvent event = new TCSignUpEvent();
event.method = "email";
serverside.execute(event);
TCSignUpEvent *event = [[TCSignUpEvent alloc] init];
event.method = @"email";
[TCS execute: event];
let event = TCSignUpEvent()
	event.method = "email"
	serverside?.execute(event)
var event = TCSignUpEvent();
    event.method = "email";
    serverside.execute(event);
{
    "event_name": "sign_up",
        "method": "email"
}

- COMMON SCHEMAS -

User

When you send an event, it needs to carry enough information to identify which user made it. We can link events together using cookies. But destination partners require accurate identifiers to take actions.

id and email are usually the most useful parameters. Though some destination partners also use firstname, lastname, birthdate, city, ...

You won't always have all of those parameters. But it is recommended to send them as soon as you can during user's browsing.

Parameters (required and recommended)

Name
Type
Required
Example Value
Description

id

string

No*

845454

User's main identifier (e.g. CRM id)

(*) required for many destinations and internal processing.

email

string

Yes*

john.doe@example.com

Email (plain value)

(*) required for many destinations and internal processing. Not required if email_sha256 is provided

email_md5

string

No*

8eb1b52... (size 32)

email_sha256

string

No*

836f82d... (size 64)

phone

string

No*

+33612345678

firstname

string

No

John

First name

lastname

string

No

Doe

Last name

gender

string

No

m

Gender

  • f for Female

  • m for Male

birthdate

string

No

1970-01-01

Birth date, YYYY-MM-DD format

city

string

No

Boston

City

state

string

No

Massachusetts

State

zipcode

string

No

02108

Zip code

country

string

No

USA

consent_categories

Array

Yes

[1,2,3]

User's consent categories. Necessary to grant data sharing with destination partners. It is automatically filled from web sources if you use Commanders Act CMP.

About Hashing

In some cases, you won't be able to send a parameter plain value. It is either unavailable or restricted.

Every user.<property> can be sent under hashed format with algorithm suffix: _md5 or _sha256 (underscore followed by lowercase algorithm name)

Example :

{
  user: {
    email_md5: '8eb1b522f60d11fa897de1dc6351b7e8',                                      // md5('john.doe@example.com')
    email_sha256: '836f82db99121b3481011f16b49dfa5fbc714a0d1b1b9f784a1ebbbf5b39577f',   // sha256('john.doe@example.com')
    phone_md5: '60dd761f55cb17f0532c9fb1679e8ddd',                                      // md5('+33612345678')
    phone_sha256: '42d573cfc315801d4cd8eddd5416b416a0bf298b9b9e12d6b07442c91db42bd8',   // sha256('+33612345678')
  }
}

No need to send both plain and hashed values :

  • if you send plain value, the hashed values aren't necessary We can generate hashed values on server side using plain value

  • if you don't send plain value, then you should fill as much hashed values as possible Partners require different hash algorithms and without plain value, we can't generate any hash. That's why we need the exact hashed value

PreviousEvents referenceNextE-commerce events

Last updated 11 months ago

Was this helpful?

Title of the page : from the DOM API

Full URL of the page. Equivalent to from the DOM API.

Path portion of the URL of the page : from the DOM API.

Full URL of the previous page : from the DOM API.

Email, hashed using . Not required if email is provided (see below)

Email, hashed using . Not required if email is provided (see below)

Phone number, format (*) required for some destinations.

Country code, ISO 3166-1 or formats

Thus it might be possible to send the hashed values. We currently accept 2 algorithm : and .

we only support hex (base16) encoding (i.e.: hashed values are carried by strings with [0-9a-f] characters) Other encodings are not supported yet

ℹ️
md5
sha256
document.title
http://www.mysite.com
location.href
location.pathname
http://www.example.com
document.referrer
MD5 algorithm
SHA-256 algorithm
E.164
2-letter
3-letter
Object<User>
Object <User>
Object<User>
Object<User>
Object<User>
Object<User>