Skip to contentSkip to navigationSkip to topbar
On this page
Looking for more inspiration?Visit the
(information)
You're in the right place! Segment documentation is now part of Twilio Docs. The content you are used to is still here—just in a new home with a refreshed look.

Topsort Events Destination


Destination Info
  • Accepts Page, Alias, Group, Identify and Track calls.
  • Refer to it as Topsort in the Integrations object
  • This integration is partner owned. Please reach out to the partner's support for any issues.
  • This destination is in Beta

Topsort(link takes you to an external page) is an AI-powered retail media platform enabling retailers and marketplaces to build their own high-performing ad networks, rivaling Google and Amazon. With its advanced auto-bidding algorithm and fast integration, Topsort provides an advertising solution that delivers exceptional returns on ad spend (ROAS) while respecting users privacy by being cookie-less.

This is a destination for eCommerce sites that want to use Segment or are already using it to Track actions on their site. It helps you seamlessly integrate Topsort events for sponsored listings. Setting up an events integration is one of the 3 steps to integrate with Topsort (see Integration Overview(link takes you to an external page) for more details). It allows marketplaces to have a full metrics report available through Topsort's Reporting API or directly in the Topsort Manager Platform(link takes you to an external page) dashboards. It also provides the necessary information for the Topsort team to display relevant ads, optimize budget consumption, attribute purchases and accomplish sellers' conversion goals.

This destination is maintained by Topsort. For any issues with the destination, contact the Topsort Support team.


Getting started

getting-started page anchor

Intro to Topsort Events

intro-to-topsort-events page anchor

This destination helps you track the 3 main events Topsort needs to serve the most relevant ads and accomplish attribution for sponsored listings: impressions, clicks and purchases. Here is an explanation of what each one of these means to Topsort:

  • Impression: Every time a user sees a promoted product in a listing page (PLP) or section, you should trigger an impressions event.
  • Click: If the user then clicks or adds the promoted product to a cart, you should trigger a click event.
  • Purchase: When an order is completed and confirmed to be successful, report a purchase event to Topsort. You can report a purchase whether it has promoted products or not. Topsort takes care of filtering relevant promoted products inside the completed order given the information about promoted clicks.

This destination has 3 default presets that map the Track events 'Product Viewed', 'Product Clicked' and 'Order Completed' to Topsort's impression, click and purchase events, respectively. If you're not familiar with the Segment Spec, take a look to understand what the Track method does.

The mappings in the Topsort destination are built based on the Segment Ecommerce Spec. If you have different Segment Track events mapped to these action definitions, then Topsort can adapt this destination to your case. Once the destination is configured, activate only the mappings relevant to your site. See point 5 of the set up for more details.

Set up your Topsort destination

set-up-your-topsort-destination page anchor
  1. From the Segment web app, click Catalog, then click Destinations.
  2. Search for "Topsort" in the Catalog, select it, and choose which of your sources to connect the destination to.
  3. In the Topsort Manager Platform(link takes you to an external page), go to Settings > API Integration(link takes you to an external page) to find or create your Marketplace API Key for auctions and events.
  4. Return to the Topsort destination in the Segment app and enter the value for your Marketplace API Key.
  5. Enable only the Track events relevant to your site and so that the events do not get duplicated with a single user action. For example, if you always trigger a Product Clicked event together with the Product Added event when a user makes a click in the "Add to cart" button, then you should enable only the Product Clicked event for the Topsort Destination.

Property nameTypeRequiredDescription
API Keypassword
required

Created under Settings > API Integration in the Topsort Manager Platform.


Skip Zero Price Purchasesboolean

Optional

When enabled, purchase events with items that have zero or missing unit price will be filtered out.


Topsort has the following presets

Preset NameTriggerDefault Action
Impressions ListEvent type = "track" and event = "Product List Viewed"ImpressionsList
Banner ImpressionEvent type = "track" and event = "Banner Impression"Impression
ClickEvent type = "track" and event = "Product Clicked"Click
Page ViewsEvent type = "page", Event type = "screen"Page Views
ImpressionEvent type = "track" and event = "Product Viewed"Impression
PurchaseEvent type = "track" and event = "Order Completed"Purchase
Banner ClickEvent type = "track" and event = "Banner Click"Click

Build your own Mappings. Combine supported triggers with the following Topsort-supported actions:

(information)

Mapping limits per destination

Individual destination instances have support a maximum of 50 mappings.

Send purchase events to Topsort when a consumer places an order.

Purchase is a Cloud action. The default Trigger is type = "track" and event = "Order Completed"

Property nameTypeRequiredDescription
Event IDSTRING
required

Unique ID generated by the client to suppress duplicate events. The length should not exceed 128 characters.


Occurred AtDATETIME
required

Timestamp that the event happened at.


Opaque User IDSTRING
required

Identifier for tracking users regardless of sign-in status. The length should not exceed 128 characters.


ItemsOBJECT
required

Item information list related to the event.


Device TypeSTRING

Optional

The device the user is on.


ChannelSTRING

Optional

The channel where the event occurred.

Send click events to Topsort when a consumer has clicked on a promotable.

Click is a Cloud action. The default Trigger is type = "track" and event = "Product Clicked"

Property nameTypeRequiredDescription
Event IDSTRING
required

Unique ID generated by the client to suppress duplicate events. The length should not exceed 128 characters.


Occurred AtDATETIME
required

Timestamp that the event happened at.


Opaque User IDSTRING
required

Identifier for tracking users regardless of sign-in status. The length should not exceed 128 characters.


Resolved Bid IDSTRING
required

Identifier of an instance of a resolved auction for a determined product. The length should not exceed 128 characters.


Additional AttributionOBJECT

Optional

Additional attribution information.


External Vendor IDSTRING

Optional

Marketplace provided ID for a vendor.


EntityOBJECT

Optional

Entity is meant for reporting organic events, not sponsored or promoted products. It refers to the object involved in the organic interaction. If resolvedBidId has any value, entity will be disregarded.


PlacementOBJECT

Optional

Placement information for the impression.


PageOBJECT

Optional

Page information for the impression.


ObjectOBJECT

Optional

Information regarding an organic or non-sponsored event.


External Campaign IDSTRING

Optional

Marketplace provided ID for a campaign.


Device TypeSTRING

Optional

The device the user is on.


ChannelSTRING

Optional

The channel where the event occurred.

Send impression events to Topsort when a consumer has viewed a promotable.

Impression is a Cloud action. The default Trigger is type = "track" and event = "Product Viewed"

Property nameTypeRequiredDescription
Event IDSTRING
required

Unique ID generated by the client to suppress duplicate events. The length should not exceed 128 characters.


Occurred AtDATETIME
required

Timestamp that the event happened at.


Opaque User IDSTRING
required

Identifier for tracking users regardless of sign-in status. The length should not exceed 128 characters.


Resolved Bid IDSTRING
required

Identifier of an instance of a resolved auction for a determined product. The length should not exceed 128 characters.


Additional AttributionOBJECT

Optional

Additional attribution information.


External Vendor IDSTRING

Optional

Marketplace provided ID for a vendor.


EntityOBJECT

Optional

Entity is meant for reporting organic events, not sponsored or promoted products. It refers to the object involved in the organic interaction. If resolvedBidId has any value, entity will be disregarded.


PlacementOBJECT

Optional

Placement information for the impression.


PageOBJECT

Optional

Page information for the impression.


ObjectOBJECT

Optional

Information regarding an organic or non-sponsored event.


External Campaign IDSTRING

Optional

Marketplace provided ID for a campaign.


Device TypeSTRING

Optional

The device the user is on.


ChannelSTRING

Optional

The channel where the event occurred.

Send impression events to Topsort when a consumer has viewed a list of promotables.

ImpressionsList is a Cloud action. The default Trigger is type = "track" and event = "Product List Viewed"

Property nameTypeRequiredDescription
Event IDSTRING
required

Unique ID generated by the client to suppress duplicate events. The length should not exceed 128 characters.


Occurred AtDATETIME
required

Timestamp that the event happened at.


Opaque User IDSTRING
required

Identifier for tracking users regardless of sign-in status. The length should not exceed 128 characters.


ProductsOBJECT
required

The list of products viewed. Each product is a promotable entity.


Device TypeSTRING

Optional

The device the user is on.


ChannelSTRING

Optional

The channel where the event occurred.

Send page view and screen view events to Topsort

Page Views is a Cloud action. The default Trigger is type = "page" or type = "screen"

Property nameTypeRequiredDescription
Event IDSTRING
required

Unique ID generated by the client to suppress duplicate events. The length should not exceed 128 characters.


Occurred AtDATETIME
required

Timestamp that the event happened at.


Opaque User IDSTRING
required

Identifier for tracking users regardless of sign-in status. The length should not exceed 128 characters.


PageOBJECT
required

Page information for the impression.


Device TypeSTRING

Optional

The device the user is on.


ChannelSTRING

Optional

The channel where the event occurred.

You don't need to change anything about the way you report Track events to Segment. The only extra field you need to provide, only for the impression and click events, is the resolvedBidId given in the winner promoted product (whether it is from the Auctions API(link takes you to an external page) or the proxy(link takes you to an external page) response). Please find below an example call to track a product listing page (PLP) click event with the resolvedBidId included:

1
analytics.track("Product Clicked", {
2
product_id: product.id,
3
name: product.name,
4
resolvedBidId: product.resolvedBidId
5
});

For Segment's browser and mobile libraries Topsort recommends that you identify your logged-in users using Segment's Identify method.

Please find an example Identify call below:

1
analytics.identify('361b1fdfbeaa9d64a13c033eb9f970dc6740f6bc', {
2
email: 'john.doe@example.com'
3
});

Once a user is identified, each call to Segment's Track method automatically records the user ID. Users that are not logged in can be tracked using an anonymousID.

If you use a server-side source please provide one or more identifiers: anonymousId or userId.


You can send computed traits and audiences generated using Engage to this destination as a user property. To learn more about Engage, schedule a demo(link takes you to an external page).

For user-property destinations, an identify call is sent to the destination for each user being added and removed. The property name is the snake_cased version of the audience name, with a true/false value to indicate membership. For example, when a user first completes an order in the last 30 days, Engage sends an Identify call with the property order_completed_last_30days: true. When the user no longer satisfies this condition (for example, it's been more than 30 days since their last order), Engage sets that value to false.

When you first create an audience, Engage sends an Identify call for every user in that audience. Later audience syncs only send updates for users whose membership has changed since the last sync.

(information)

Real-time to batch destination sync frequency

Real-time audience syncs to Topsort Events may take six or more hours for the initial sync to complete. Upon completion, a sync frequency of two to three hours is expected.


Segment lets you change these destination settings from the Segment app without having to touch any code.

Property nameTypeRequiredDescription
API Keypassword
required

Created under Settings > API Integration in the Topsort Manager Platform.


Skip Zero Price Purchasesboolean

Optional

When enabled, purchase events with items that have zero or missing unit price will be filtered out.

Default: false