An introductory example

Imagine an ecommerce store that has the following minimal customer journey:

  1. PageView: User visits the storefront
  2. Added To Cart: User adds an item to cart
  3. Placed Order: User places an order

For the optimal setup, they will want to track PageView and Added To Cart on the browser, but Placed Order events on .

Challenges with server-side tracking

There are three main challenges this store will need to deal with, all of which are important concepts in Converge.

  • Profile properties: to include browser-side information into the server-side order-event.
  • Deduplication: to make sure that the same order does not get processed twice.
  • Aliases: to recognize which browser-side events and which server-side events come from the same user.

Profile properties

It is possible to include profile properties in an event. These properties are characteristic of the user. These properties are persisted across events, whereas the event properties are only available and relevant to the event itself.

Profile Properties allow you to store information on a user that you might need later. For example, the Converge Pixel will auto-track a bunch of browser session information so this is available for your server-side events (e.g. the Placed Order event in the example above).

However, profile properties are also useful for storing information across events within a single source. Imagine a user that triggers a Subscribed to Newsletter event with an $email parameter. Afterward, that same user triggers an Added To Cart. Storing the $email as a profile property ensures that you have this information available at the moment of the Added To Cart-event without you as a developer having to pass this information again.


Deduplication

It is possible to include profile properties in an event. These properties are characteristic of the user. These properties are persisted across events, whereas the event properties are only available and relevant to the event itself. Converge supports deduplication natively. You can deduplicate events with an optional eventID parameter. This is especially important for events that are used as conversions. Converge will deduplicate events with the same eventID at ingestion time.


Aliases

Converge excels at matching events across browser sessions and your server-side data. This is all possible through aliases. Your customer is linked to multiple aliases, i.e. multiple identifiers for the same customer. Converge uses the customer’s browser session cookie as the default alias. When you add something as an alias, you are telling Converge that this alias is a unique identifier for this profile across datasources. In the examples below, we add email as an alias. Thus, Converge can merge a profile of browser events (e.g. Pageviews) with a profile with backend events (e.g. Started Subscription) if they have the same email.

In the examples below we add an email alias. Other aliases that are useful:

  • cart_token
  • checkout_token: this is absolutely necessary if your checkout lives on a different domain than your storefront token.
  • customer_id