How to differentiate Shopify POS and Shopify web data

Estimated 2 minute read
|
Updated Aug 29, 2024, 7:24 PM EST
You will learn

You will learn

Learn how to distinguish between your POS and web orders in Klaviyo, if you use the Shopify point of sale (POS) system. This is done through filtering orders or creating segments. Klaviyo syncs the source_name when a customer completes the checkout process and creates an order in your Shopify store, which records the source of the order. 

According to Shopify's documentation, "source_name" is defined as: "Where the order originated. May only be set during creation, and is not writeable thereafter. Orders created through official Shopify channels have protected values that cannot be assigned by other API clients during order creation. These protected values are: "web", "pos", "iphone", and "android". Orders created via the API may be assigned any other string of your choice. If source_name is unspecified, new orders are assigned the value "api"."

Before you begin

Before you begin

 Knowledge check

If you have not already, read our guide on getting started with Shopify for step-by-step instructions on integrating, before continuing with this article.

Filter orders by source

Filter orders by source

You can filter Placed Order events in Klaviyo by "web," "pos," "iphone," "android," or other custom strings by using the source_name property associated with a given order. In Klaviyo, this property will appear as simply "Source Name" when you are building a segment or flow filter.

To filter and view exclusively POS Placed Order events:

  1. In Klaviyo, select the Analytics dropdown and click Metrics.
  2. Click on the Placed Order metric from Shopify.
  3. Select the Filter by dropdown and choose Source name, then choose pos from the equals dropdown.
    Shopify Placed Order metric in Klaviyo's Metrics tab filtered by Source Name equals Select a Value
Segment orders by source

Segment orders by source

In the segment builder, you can create segments based on the Source Name property. For example, here is a segment of customers who have placed a POS order:

  1. In Klaviyo, navigate to Audience > Lists & Segments.
  2. Click Create List/Segment and select Segment
  3. Create a segment with the following conditions:
    • Name: POS Orders
    • Tags: None
    • What some has done (or not done) > Has Placed Order > at least once > over all time
    • Where Source name > equals pos
      Klaviyo segment builder showing segment named POS Orders, Create Segment with black background and Cancel with white background
Outcome

Outcome

You've now learned how to differentiate Shopify web orders from POS orders. 

Additional resources

Additional resources

 

Was this article helpful?
Use this form only for article feedback. Learn how to contact support.

Explore more from Klaviyo

Community
Connect with peers, partners, and Klaviyo experts to find inspiration, share insights, and get answers to all of your questions.
Live training
Join a live session with Klaviyo experts to learn about best practices, how to set up key features, and more.
Support

Access support through your account.

Email support (free trial and paid accounts) Available 24/7

Chat/virtual assistance
Availability varies by location and plan type