Introduction

Evergage can accept optional data from your backend system or site. These fields will need to be pushed into Evergage and may require an engineer or developer resource to write a JavaScript function to access the appropriate data and store it as a variable.

All of the functions in this document rely on being pushed to our "_aaq" array in the following format:

Track User and Account Data

Data can be passed into Evergage by adding the line of code listed below into the JavaScript beacon, or site wide JavaScript.

Encrypted User ID

If you are enabling message security (recommended if messages will contain private data), you must pass the Encrypted User ID to Evergage.

_aaq.push(['setEncryptedUser', SET_TO_THE_ENCRYPTED_USER_ID]);

User ID

Used to tell Evergage who the current user is. You must pass either the User ID or Encrypted User ID to Evergage in order to successfully track events.

_aaq.push(['setUser', SET_TO_CURRENT_USER]);

Company/Account

Used to tell Evergage the account associated with the current user. Typically, it is necessary for B2B companies to send this value, but often not necessary for B2C companies. Although Evergage will still track data, without this code added to the beacon or sitewide JavaScript code, all users will be grouped in the Anonymous account.

_aaq.push(['setCompany', SET_TO_COMPANY]);

Account Status

Used to set the customer's lifecycle or subscription type (e.g. free trial, freemium, paid-basic, paid-premium)

_aaq.push(['setAccountType', SET_TO_SUBSCRIPTION_LEVEL]);

User Display Name

Used to set the user's display name in Evergage. By default the User Display Name will appear alongside the UserID on the dashboard. Use Search to find a specific value.

Other Custom Fields

Used to pass custom fields to Evergage, such as demographic data, user role, or any other numeric or text data.

NOTE

Attributes are not set in Evergage if the attributes do not already exist in Evergage. To create a new attribute in Evergage, log in as an administrator and select SETTINGS > Attributes > New Attribute. Once the attributes are created, they will appear in Evergage from that point forward.

The context argument can be one of the following case sensitive calls:

page: sends the custom attribute every time a viewer performs an action on the page

visit: sends the custom attribute with every action on any page for the remainder of the visit. A visit is defined in Evergage as lasting as long as the visitor keeps performing actions without a 30-minute gap

Then, add the following after the variable "_aaq" has been established:

Track Action

if (window._aaq) {
_aaq.push(['trackAction', SET_ACTION]);
}

Track Data Using On-Page Actions

The above JavaScript commands can also be used within on-page events, such as on-click and on-submit. The track action call is only needed at the end, not after every field. The track action call is only needed for on-click and other on-page elements, not when customizing the JavaScript Beacon.

This line will track actions within Evergage, like an on-click action of a link. However, Evergage will only receive data when an action occurs. For example, after using the setCustomField command, add a track action call after it so Evergage captures the data.

Clear User and Account Data from Your Cookie

By default Evergage will record your userId and your accountId on your cookie. If at any point you would like to clear this data you can remove all user data associated with this cookie by calling the function:

_aaq.push(['clearUser']);

You can also clear your current account information with:

_aaq.push(['clearCompany']);

Please note that the clearUser() function will also call clearCompany() to completely disassociate all user data.