# Integrating with Shopify POS

March 27, 2025

## Overview

When guests purchase bottles and merchandise on-site through Shopify POS you can associate these transactions with their AnyRoad profile to understand **who** is purchasing and **how much they spend over time** with your brand. With this data you can identify and target your most valuable customers, and better understand the impact experiences have on on-site sales.

This integration:

- Automatically syncs all guest profiles and first party data from AnyRoad to Shopify
- Enables staff to associate a Shopify transaction with an AnyRoad customer
- Allows you to identify your most valuable customers and segments based on their spending patterns

In order to use this integration you need:

- [AnyRoad webhooks](https://help.anyroad.com/en/articles/9658981-understanding-and-leveraging-webhooks) enabled
- [FullView](https://help.anyroad.com/en/articles/9658867-fullview-additional-guest-information) enabled so both booking and additional guests have profiles in Shopify (recommended but not required)
- A no-code integration platform, like Zapier, to capture webhooks from AnyRoad and send them to Shopify
- On-site staff commitment to associate Shopify transactions with AnyRoad customers

## Setting up Zapier

AnyRoad webhooks send all guest and booking data in real-time when a guest registers online or on-site. By connecting these webhooks to Shopify, every AnyRoad customer has an associated profile in Shopify when they make an on-site purchase.

Since Shopify doesn’t support capturing webhooks directly, you will need a 3rd party service to capture this data and send it to Shopify. This guide explains how to do this with Zapier, a web-based automation tool that connects apps and services. There are other similar platforms and services that can do this as well.

### Create a Zapier account

If you don't already have one, create a Zapier account with the [Professional plan](https://zapier.com/pricing) or higher in order to integrate with Shopify. Zapier charges based on the number of tasks per month - this integration uses 2 tasks per guest registration for the standard setup or 4 tasks if you include the steps to create a product in Shopify. You can estimate the number of tasks you need by multiplying your average number of AnyRoad visitors per month by 2 or 4.

### Configure the integration in Zapier

This integration sends AnyRoad customer data to Shopify through Zapier:

- [Step 1: Capture AnyRoad webhook](https://help.anyroad.com/en/articles/10780410-integrating-with-shopify-pos#h_e6242180a7)
- [Step 2: Format guest opt-in data (optional)](https://help.anyroad.com/en/articles/10780410-integrating-with-shopify-pos#h_fecab683d6)
- [Step 3: Search existing customers and add new ones](https://help.anyroad.com/en/articles/10780410-integrating-with-shopify-pos#h_18711c55aa)
- [Step 4: Update an existing Shopify customer](https://help.anyroad.com/en/articles/10780410-integrating-with-shopify-pos#h_dcd0f36a6a)
- [Step 5: Add experiences to a customer profile (optional)](https://help.anyroad.com/en/articles/10780410-integrating-with-shopify-pos#h_bb54aeea85)

#### Step 1: Capture AnyRoad webhook

This step captures the webhook data from AnyRoad in Zapier. In order to complete this step, you’ll need to [configure the webhook in the AnyRoad dashboard](https://help.anyroad.com/en/articles/10780410-integrating-with-shopify-pos#h_511ec11fa5) as well.

Create a new zap and choose **Webhooks** as the trigger and **Catch Hook** as the trigger event.

### Step 2: Format guest opt-in data (optional)

This step transforms AnyRoad guest opt-in data into the Shopify format.

If you collect email opt-ins through AnyRoad and use Shopify for marketing, you'll want to send guest opt-in answers to Shopify. Shopify uses a boolean format (true or false) to collect opt-in data while AnyRoad uses text (yes, no, or partial). This step transforms the AnyRoad data into the Shopify format.

Choose **Formatter** for the next action.

### Step 3: Search existing customers and add new ones

This step searches to see if a customer already exists in Shopify with the same email address. If not, it creates a new customer.

You will be prompted to select your next action. Search for and select **Shopify**.

Set the **Action event** to **Find Customer**, and connect your Shopify account under **Account**.

### Step 4: Update an existing Shopify customer

This step updates an existing customer profile in Shopify with data from the AnyRoad webhook.

Add a Shopify event again and choose **Update Customer** as the **Action event** this time. Your Account will populate from the previous step.

### Step 5 (optional): Add experiences to a customer profile

You can also add experiences to a customer's profile using Shopify products and orders. These steps automatically create a product in Shopify for each experience, and a new order when a customer books an experience.

#### Step 5a: Search existing products and add new ones

This step searches to see if an experience already has an associated product in Shopify. If not, it creates a new product for each experience.

Add a Shopify event again and choose **Find Product by Title or Handle** as the **Action event**. Your Account will populate from the previous step. Click **Continue**.

#### Step 5b: Select the Product Variant ID

This step selects the Variant ID from the previous product search step, which can differ based on whether it's a new or existing product in Shopify.

In order to create a customer order in the next step a Product Variant ID is required.

#### Step 5c: Create a customer order

This step creates an order on a customer profile in Shopify with the product associated with the experience they booked.

Add a Shopify event again and choose **Create Order** as the **Action event**. Your Account will populate from the previous step. Click **Continue**.

## Configuring Webhooks in AnyRoad

In order to configure webhooks you’ll need to start your [Zapier setup](https://help.anyroad.com/en/articles/10780410-integrating-with-shopify-pos#h_e6242180a7) first because webhooks require the destination URL from Zapier.

This configuration sends two webhooks from AnyRoad:

- [booking.confirmed](https://help.anyroad.com/en/articles/10416190-webhook-catalog-schema) 
- [guest.additional.updated](https://help.anyroad.com/en/articles/10416190-webhook-catalog-schema)

**To setup a webhook:**

1. Navigate to [Webhooks in Settings](https://app.anyroad.com/#settings/webhooks-settings)
2. Select **\+ Add Endpoint**:
3. Paste [your webhook URL](https://help.anyroad.com/en/articles/10780410-integrating-with-shopify-pos#h_e6242180a7) from Zapier into the **Endpoint URL** field
4. Enter an optional description
5. Select two events: **booking.confirmed** and **guest.additional.updated**
6. Click **Create**

You’re now ready to **send a test event to Zapier**:

1. Navigate to the **Testing** tab
2. Choose **booking.confirmed** under **Send event**
3. Click **Send Example**

## How to associate Shopify transactions with customers

AnyRoad customers will now have an associated profile in Shopify when they purchase merchandise on-site. Your staff can add their profile to a transaction.

It's important to ensure staff **adds a customer to every transaction** they can in Shopify. If you have partial compliance you won't have trustworthy data to track the impact of experiences on sales.

During a transaction, staff tap **Add customer** in the top right.

Tap **Search customers**.

**Search for the customer** by email or name and **select them**.

The customer is now associated with the order.

## Shopify Reporting

Shopify has robust reporting allowing you to segment reports by the customer tag you added in Step 3 and Step 4.

In the **Analytics Reports** tab, you can add **Customer Tag** to **Dimensions** on existing or custom reports to perform analysis like:

- **Percent of orders** from visitors who attended an experience
- **Average order value** of an experience visitor vs. other customers
- Which **products** experience visitors purchase vs. other visitors

You also have robust reporting by **customer location** (city, state, country) with AnyRoad data.

Because you now associate orders with customers, you can identify and target your most valuable repeat customers based on transaction count and total spend by customer.
