System events are a group of events available to all Exponea customers by default without the need for a specifically-tailored integration. As opposed to custom events, system events should be the same for all Exponea users. In this article, we will list and explain the attributes of these events.
happens when the customer visits your website
is derived from the session_start event. It happens when the customer visits your website for the very first time
is an auxiliary event that will help you track other events. It is generated on every
is generated 20 minutes after the last
page_visit) can occasionally be tracked without customer's actual activity. This can happen when the customer's device is only hybernated and their browser gets active and generates a
The duration of the session will be the difference between the timestamps of
session_end in seconds. The timestamp of the
session_end will have a timestamp within 2 minutes after the customer closed the last page (the 20-minute timeout is ignored for the purpose of calculating the session duration).
In other words, the timeout ensures that if someone closes the page but returns within 20 minutes, this will still be counted as a single session. However, if they don't return, those 20 minutes will not be counted into the session duration.
Name of the city from which the user is visiting your website.
Name of the state/region from which the user is visiting your website.
Name of the country from which the user is visiting your website.
Latitude from which the user is visiting your website.
Longitude from which the user is visiting your website.
Name of the platform from which the user visited your website. It is determined based on session_ping event URL by comparison with the list of knows referrers. This is done via
Url of the platform from which the user visited your website.
Automatically-generated ID of the campaign that brought the customer on your website. More about UTM parameters
UTM code of the campaign that brought the customer on your website. By default, this will be equal to the name of the email node / web push node within the scenario.
UTM code of the platform from which the user visited your website. More about UTM parameters
UTM code of the campaign method used to bring the customer on your website. More about UTM parameters
email / push_notification
UTM code of the content that brought the customer on your website. More about UTM parameters
banner / logolink / product-feed
UTM code based on terms defining the product. Present if the campaign redirected the customer on a particular product page. More about UTM parameters
subject-STREETWEAR-category-Clothing-T-shirts-Everyday-With + sleeve-brand-Nike + men
Google Click Identifier is a code added by Google to the website's url when the customer visits your site through a Google Ad campaign.
IP address of the user who visited your website.
Mobile device from which the user visited your website. If the visit was not through a mobile device then it is marked as "other".
Operating system of the device through which the user visited your website.
Browser through which the user visited your website.
URL of the page where the user's session started.
Location URL without the domain and parameters
duration (only for session_end)
The amount of time the user spent on the website during this session measured in seconds .
Using Google Analytics ID for
If you have just started using Exponea and you had tracked your customers using GA before, you can use the GA ID to immediately distinguish between old and new customers also in Exponea. You can get the GA ID from the GA tracker. GA ID is written in the form
1.2.286403989.1366364567and it's last part (behind the last dot) is the timestamp of the first session. In Exponea, you can extract it from Google Analytics ID using an expression and store it as a customer attribute.
Customer's location inaccuracies
As all the attributes that localize the customers are based on their IP, they depend on the quality of the IP infrastructure. The
cityattributes are generally very reliable, however, the
longitudeare often not (as they are a more precise measure of the customer's location).
session_start is often complemented with these manually-added custom attributes.
Number of milliseconds it took to load the page. Read on how to add the attribute to event in the Web tracking article.
Height of the screen the customer used to visit your webpage.
Width of the screen the customer used to visit your webpage.
Resolution of the screen the customer used to visit your webpage.
Version of a browser the customer used to visit your webpage.
page_visit happens each time the customer opens one of the pages of your website
Mobile device from which the user visited the page. If the visit was not through a mobile device then it is marked as "other".
Url of the platform from which the user visited the page.
Operating system of the device through which the user visited the page.
URL of the page that the user visited.
Browser through which the user visited the page.
Issues with the tracking
If you are using our CDN page outside of your own domain for giving out surveys/getting consent, no
session_startevents will be generated.
campaign event is generated when working with emails, text messages, push notifications, or webhooks.
Status of the user's interaction with the campaign mainly based on the SMTP code.
The SMPT code received from a server after you sent out an email.
Name you gave to the campaign.
Automatically-generated ID of the campaign.
Campaign's method of approaching the user.
Name you gave to the specific action within the campaign scenario. In case of emailing through Email campaigns and not scenarios, action_name is the same as campaign_name.
Unique ID number of the action. The number rises proportionally with the order in which you created the action in the scenarios. The action_id of the first action is 1, for the second action it is 2 etc.
Name of the policy used in the campaign shown to the particular user. More on policy
Custom-given subject of the e-mail sent in the campaign.
Language used in the campaign shown to the particular user.
The user's email address where the campaign email was delivered.
IP address of the user targeted by the campaign.
Name of the email client from which the campaign link was clicked from.
URL campaign link that was clicked on by the user.
Name of the A/B split variant loaded on the webpage.
Variant A, control group
Information on whether the user saw this variant for the first time.
Exponea enqueued the email to the email provider
The message was submitted to the network for delivery.
Email provider confirmed delivery
Exponea could not enqueue the email
Communication error between Exponea and the email provider
The email was opened = pixel in the email was loaded.
The customer clicked on a link inside the email. This also includes clicking on the unsubscribe link.
Email provider notified Exponea that the customer marked the email as "Spam"
The email provider notified Exponea that the email was bounced with a temporary error. Further emails will be tried to be delivered. This error may happen for example due to a full inbox.
Email provider notified Exponea that the email was bounced with a permanent error. This may happen for example due to the email adress being a non-existent one.
The mail service provider had put the domain on the suppression list and so emails from the domain will not be delivered to the customer.
Email provider notified Exponea that email was rejected for delivery/ The reason might be too many bounces, unsubscription or blacklisting.
Tracking clicked event
Links to your webpage sent out in a campaign firstly lead to our CDN domain so that the
clickedevent is tracked. After that, the customer is immediately redirected from the CDN domain to your webpage.
Issues with the opened event
Openedevent tracked for Gmail does not guarantee that the recipient had indeed opened your email. Gmail's servers sometimes download external images from emails into their cache in advance. As we use these images to track whether the customers opened the email, we get a fake open event every time Gmail's servers do this. Moreover, email providers sometimes block the loading of the images we use for the tracking of the
openedevent so even if your email seems to be just
deliveredit might, in fact, be opened.
When an email is bounced, the
email_invalid property is set to
unsubscribed is set to
yes, Exponea won't send emails to those customers, even if they satisfy all other conditions, hence using these attributes manually in conditions is not necessary. This serves to prevent undeliverable emails from being sent, protecting the sender's reputation and spam score.
Statuses of the
campaign event are based on the SMTP error codes received. SMTP error codes starting with 4xx are marked as
dropped, while error codes 5xx stand for
bounced. However, some providers send 5xx marked as
dropped. In these cases, Exponea treats them as bounced emails.
Code attribute gives you the SMPT error or reply code received from a server after you send out a campaign email. The
status attribute is based on these codes, however, it is useful to also know the code itself as it is more precise in assessing what happened to the email. The following link contains a list of codes and their corresponding meanings. For these to work correctly, you need to have a Mailgun integration. Even though SMPT codes are reliable for most customers, beware that small email providers often send alternative SMPT codes that will not be recognized.
In 1.173 we unified the statuses of email campaign events from email providers and renamed them to meet the industry standards and improve user experience.
In the following table you can find the naming changes:
Previous status name
New status name
Along with renaming, an automatic migration was carried out, in order to update event filters as defined below. The new naming along with the original one was used in the migration to ensure backwards compatibility. So don't worry, you probably don't have to update your analytics and campaigns manually, but keep an eye on your business critical use cases after the change to make sure everything works as expected.
The following change was done in all filters that use the renamed statuses:
equalshave been changed to
does not equalto
not inand extended with new statuses.
not inhave been extended with new statuses.
Rest of the string filters
does not contain,
matches regexwere not changed as they are unlikely to be used for this purpose. Manual change is needed in case you want to use those filters in combination with the renamed statuses.
For any other custom usage such as jinja or webhooks a manual change is needed as well.
equals dropped ->
in [dropped, soft_bounced]
in [dropped, x, y] ->
in [dropped, soft_bounced, x, y]
survey happens when the customer is shown a survey question you had created. More on surveys
Question given in the survey.
How likely are you to recommend Exponea to your friends?
Answer given by the user in the survey. (has value only if the customer answers the question)
Information on whether the user filled and sent the survey.
Name you gave to the survey.
Randomly generated ID of the survey,
Order of the question in which it appears in the survey.
2.00 (second question of the survey)
merge when two customer profiles are merged into one
Two IDs that merged together.
The ID resulting from the merger (the older one from the two original ones).
Two IDs for external platforms that merged together.
The ID for external platforms resulting from the merger (the older one from the two original ones).
ab test happens when the customer sees one of the variants of a page/banner/recommendation you had created in an A/B split. More on A/B testing
Name of the A/B split variant loaded on the webpage.
Variant A/control group
Automatically-generated ID of the variant.
URL of the particular variant of the user sees.
Mobile device from which the user sees the particular variant. If the visit was not through a mobile device then it is marked as "other".
Operating system of the device through which the user sees the particular variant.
Browser through which the the user sees the particular variant.
experiment happens when an experiment is shown to the customer. More on experiments
Custom-given name of the experiment.
Automatically-generated ID of the experiment.
Name of the A/B split variant used in the experiment loaded on the webpage.
Automatically-generated ID of the variant used in the experiment loaded on the webpage.
Nature of the engagement the user had with the experiment. "Show" is a default standard for indicating that the experiment has loaded on the page.
URL of the page with the experiment.
Location URL without the domain and parameters
Mobile device from which the user sees the page with the experiment. If the visit was not through a mobile device then it is marked as "other".
Operating system of the device through which the user sees the page with the experiment.
Browser through which the the user sees the page with the experiment.
anonymization happens when you remove the customer's identification but still keep their data for analytics purposes. You can read more about anonymization in Data management.
Software through which the user's information was anonymized.
Level of access rights of the person who anonymized the user's information.
Updated 15 days ago