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);
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.
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, hashed using MD5 algorithm. Not required if email is provided (see below)
email_sha256
string
No*
836f82d... (size 64)
Email, hashed using SHA-256 algorithm. Not required if email is provided (see below)
phone
string
No*
+33612345678
Phone number, E.164 format
(*) required for some destinations.
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.
Thus it might be possible to send the hashed values. We currently accept 2 algorithm : md5 and sha256.
Every user.<property> can be sent under hashed format with algorithm suffix: _md5 or _sha256(underscore followed by lowercase algorithm name)
ℹ️ 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
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