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.

Elastic Path Source


Source Info
  • The Elastic Path Source is an Event Cloud source. This means that it sends data as events, which are behaviors or occurrences tied to a user and a point in time. Data from these sources can be loaded into your Segment warehouses, and also sent to Segment streaming destinations. Learn more about cloud sources.
  • This source is in Beta

Elastic Path(link takes you to an external page) is a SaaS based headless commerce platform that provides core commerce with a focus on catalog and product data management and modern merchandising capabilities so that brands can power their complex commerce experiences across multiple geographies, touchpoints, brands, and business models.

This is an Event Cloud Source which can not only export data into your Segment warehouse, but can also federate the exported data into your other enabled Segment Destinations.

This source is maintained by Elastic Path. For any issues with the source, contact the Elastic Path Support team(link takes you to an external page).

(information)

Info

The Elastic Path Source is currently in beta, which means that they are still actively developing the source. If you are interested in joining their beta program or have any feedback to help improve the Elastic Path Source and its documentation, let the Elastic Path team know(link takes you to an external page).


Getting started

getting-started page anchor
  1. Navigate to Connections > Catalog and make sure you're on the Sources tab of the catalog.
  2. Search for Elastic Path in the Sources Catalog, select Elastic Path, and click Add Source.
  3. Give the Source a name and configure any other settings.
    • The name identifies this source within your workspace, and typically reflects the name of the application. The name can be anything, but Segment recommends that you use something that reflects the source itself and distinguishes amongst your environments (for example, SourceName_Prod, SourceName_Staging, or SourceName_Dev).
  4. Click Add Source to save your settings.
  5. Copy the Write key from the Segment UI and log in to the Elastic Path Commerce Manager.
  6. Navigate to Integrations Hub > Select Segment integration > configure integration(link takes you to an external page) where you need to use Segment key.

This integration uses JSONata templates to provide flexibility to send your custom fields to Segment.

You can configure how you want to associate an Elastic Path event with Segment event for streaming data. For example, send the Order Completed event to Segment when the Elastic Path order event is order.paid or order.authorized or if order is fulfilled, for example, order.fulfilled.


Elastic Path uses our stream Source component to send Segment event data. It uses a server-side (select from track, identify, page, group) method(s) to send data to Segment. These events are then available in any destination that accepts server-side events, and available in a schema in your data warehouse, so you can query using SQL.

The default behavior is for Elastic Path to pass the customerId associated with the order as the userId. There are instances in which Elastic Path lacks an associated customerId (e.g., in the case of a guest order). In these scenarios, the email address will be provided as anonymousId, or alternatively, you have the option to configure your own identifier.


The table below lists events that Elastic Path sends to Segment. These events appear as tables in your warehouse, and as regular events in other Destinations.

Event NameDescription
Customer CreatedCreating identity in Segment.
Customer UpdatedUpdating identity in Segment
Checkout StartedWhen a user started the checkout process. For example, when a user creates an order.
Order CompletedTracks when a user completes their order. For example, when an order is paid or authorized.
Order UpdatedWhen an order is updated. For example, when the user updates the shipping address.
Order CancelledWhen a user cancels an order.
Order RefundedWhen a user refunds an order.

The property name tables below of the different events list the properties included in the events listed above.

Identity events

identity-events page anchor

The following payload contains the properties for the following events:

  • Customer Created
  • Customer Updated
Property NameDescription
userIdThe customer ID of Elastic Path Composable Commerce.
traitsThe free-form dictionary of traits of the user, like email.
traits.nameThe customer name.
traits.emailThe customer email.

Note: You can add any custom fields as well as part of the traits e.g. age, gender, title, phone etc.

The following payload contains the properties for the following events:

  • Checkout Started
  • Order Completed
  • Order Updated
  • Order Cancelled
  • Order Refunded
Property NameDescription
userIdIf the registered user places an order, then the value of the userId is the Customer ID. Otherwise, it will be the order ID. You can change this as per your requirement.
eventThe event name, for example, Checkout Started, Order Completed.
propertiesThis holds information about the order.
properties.order_idThe Elastic Path Order ID.
properties.valueThe revenue ($) with discounts and coupons added in. For better flexibility and total control over tracking, Elastic Path lets you decide how to calculate how coupons and discounts are applied. This is usually required for the Checkout Started event.
properties.totalThe revenue ($) with discounts and coupons added in. For better flexibility and total control over tracking, Elastic Path lets you decide how to calculate how coupons and discounts are applied. This is usually required for all the events apart from the Checkout Started event.
properties.revenueThe revenue ($) associated with the transaction (excluding shipping and tax). This is usually required for all the events apart from the Checkout Started event.
properties.taxThe total tax associated with the transaction.
properties.discountThe total discount associated with the transaction.
properties.shippingThe shipping cost associated with the transaction.
properties.currencyThe currency code associated with the transaction. For example, GBP, USD.
properties.productsThe list of products in order.
properties.products.$.product_idThe product ID.
properties.products.$.nameThe product name.
properties.products.$.skuThe product SKU.
properties.products.$.priceThe product unit price.
properties.products.$.quantityThe quantity of a product.

Note: Elastic path uses properties of these events from the eCommerce Spec defined by the Segment doc. Add more properties as per this documentation based on your business requirement.


After you configure your source, you can connect it with destinations. Log in to your downstream tools and check to see that your events appear as expected, and that they contain all of the properties you expect. If your events and properties don't appear, check the Event Delivery tool, and refer to the destination docs for each tool for troubleshooting. If there are any issues with how the events arrive to Segment, contact the Elastic Path Support team(link takes you to an external page).