- 1 Minute to read
- Print
- DarkLight
Adding a TMID to Messages
- 1 Minute to read
- Print
- DarkLight
Goal
To enable individual tracking of message delivery and engagement, add a unique Transactional Message ID (TMID) to every message in a group.
Background Information
A TMID is a unique identifier assigned to each transactional message. It allows precise tracking to verify if a contact received and opened a message. This is especially useful when tracking interactions across systems.
TMIDs are generated using a pattern defined in the group settings.
The pattern must generate a unique ID for every message. Otherwise, you cannot track the messages individually.
TMID data can be exported using Raw Data Export for use in external systems.
This procedure is not required if you send transactional messages via the Mapp Engage API and your external system has already assigned unique IDs. For details, see: Send Transactional Messages (API).
Procedure
In the main navigation, click Audience > Group Management > Groups.
Open the selected group and navigate to the Sendout Options tab.
Expand the Transactional Messages section.
From the Transactional Mode drop-down, choose the desired setting:
On: Mapp Engage generates a TMID based on your defined pattern. It overwrites any external IDs.
Optional: Allows you to use external TMIDs if provided. If no TMID is included in the sendout, Mapp Engage automatically generates one based on the defined pattern.
In the Pattern for the TMID field, enter a pattern that creates a unique ID for each message. To include attributes, click Personalisation.
Click Save.
Note: If a transactional message is sent to a contact who is not already in the group, Mapp Engage automatically adds the contact to the group.
Example Pattern
This expression creates a TMID using the user ID, message ID, and a UTC timestamp:
=<%${user['PK']}%>m=<%${message['PK']}%>t=<%${ecx:formatDate(ecm:addInterval(date.today, '-0d'),'yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\'', ecm:timeZone('UTC'),'', false)}%>
u=<%${user['PK']}%>
Adds the user’s primary key (user ID) to the TMID.
m=<%${message['PK']}%>
Adds the message’s primary key (message ID) to the TMID.
t=<%${ecx:formatDate(...)%>
Appends a timestamp in UTC format:
date.today
sets the current date.ecm:addInterval(..., '-0d')
keeps the date unchanged but is available for modification if needed.'yyyy-MM-dd\'T\'HH:mm:ss.SSS\'Z\''
formats the timestamp in ISO 8601.ecm:timeZone('UTC')
ensures the time is recorded in Coordinated Universal Time.
This combination guarantees that each TMID is unique for every user-message pair and sendout time.