Skip to main content

Integrations: Shopify

The Everflow app automatically connects to Shopify stores and installs the click and conversion tracking setup.

Dasha Shareyko avatar
Written by Dasha Shareyko
Updated over 2 weeks ago

Overview

⚠️ IMPORTANT: Migration Deadline is August 22nd

All customers must migrate before this date to prevent tracking interruption - [More about this change from Shopify]. For a migration guide - [Click Here].

We're update our Shopify integration to align with Shopify's latest tech and ensure continued reliable tracking for our clients.

This guide will walk you through the new Shopify V2 integration (which automatically sets up all of your Click and Conversion tracking and transfers the data to Everflow through API), highlighting key changes and migration steps (if you are currently using V1).

💡Key Improvements / Changes in V2💡

  • Free Integration: The app is now available at no cost

  • Modern Tracking: Using Shopify's Customer Event Pixels instead of script tags

  • Enhanced Reconciliation: Built-in email attribution with no additional code required

  • Simpler Setup: Automatic installation of click and conversion tracking

Getting Started with Shopify V2

Prerequisites

  • You can connect multiple stores to one Everflow account (If you have three Shopify stores (Store A, Store B, and Store C), you can connect all of them to a single Everflow account.)

  • Each Shopify store can only connect to one Everflow account at a time (Store A cannot be connected to two different Everflow accounts simultaneously.)

  • An Advertiser must be selected for each integration.


A How-To Guide

Step 1: Connect Your Shopify Store

  1. Navigate to Integrations > E-Commerce

  2. Click Connect Integration for Shopify

  3. Find +Connect New Store

Note for Existing Users

If you previously used our Shopify V1 integration, you'll see both V1 and V2 connection cards. New users will only see Shopify V2.

Step 2: Install the App

  1. You'll be redirected to the Shopify App Store

  2. Click Install

  3. Enter your Shopify store's custom domain (the part before .myshopify.com)

  4. Log in with your email address, if you haven't already

Step 3: Complete Installation

  • Click Install

  • Input your Everflow network identifier

    • Your identifier can be found in your platform login URL if you're using everflowclient.io (not a custom ULR) or by going to Control Center - Platform Configurations > General card > General

  • Click Complete Installation

  • Once connected, click Access Integration.

Integration Settings

Basic Settings

  1. Name: Required identification field for your integration

  2. Advertiser: Must select an advertiser for each integration

  3. Tracking Domain: Select your Everflow tracking domain that you want to be associated with your Shopify store (we recommend using the default)

Tracking Options

Two options are available:

  1. Basic Scripts: Default click and conversion scripts (installed automatically)

  2. Custom Scripts: Available for advanced tracking logic (see the V1 to V2 script migration section below)

Reconciliation (If enabled)

Enabling this feature will allow for sales that didn't have an associated cookie to be attributed to the correct Partner (by using the Shopify API)

  • Toggle to enable/disable reconciliation

  • Built-in email attribution (no manual code changes needed)

  • Uses checkout_token for improved transaction tracking

  • Optional line item discount settings


Testing the Integration

  1. Ensure Direct Linking is enabled in your Offer's Tracking & Controls section

    • If Direct Linking cannot be enabled, add ?_ef_transaction_id={transaction_id} to the Base Destination URL

  2. Generate a tracking link for your Shopify offer

  3. Place a test conversion

  4. Verify the data in your reports


Migration Guide From V1 to V2

Step 1: Verify Current Installation

  • Ensure the app is installed in both Shopify and Everflow.

  • If the app is installed in Everflow and not in Shopify, contact our Customer Success team for assistance.

Step 2: Backup Custom Scripts (Optional)

Make a copy of any existing custom Click or Conversion scripts in your Everflow UI (Core Platform).

Step 3: Uninstall V1 App

Remove the Shopify V1 app from your Everflow UI or Shopify admin.

Step 4: Install V2 App

Install the new app via:

Step 5: Configure and Test

Save the new integration and verify tracking and conversion functionality - [Testing Guide].

Step 6: Custom Scripts (Optional)

If you require a custom Click or Conversion script, contact our Customer Success team for assistance with migration.

Please prepare the original Click and Conversion scripts that you need to translate into the new app.

Custom Conversion Script Property Mapping (V1 to V2)

Important: The V2 integration uses Shopify's Customer Event Pixels architecture, which significantly changes how data is accessed in custom scripts. If you're using custom conversion scripts, you'll need to update your code to match the new data structure.

The table below provides a comprehensive mapping of property paths between V1 and V2. Use this reference when adapting your scripts to ensure proper data access and functionality after migration. Our support team is available to help with complex script migrations.

Data Element

V1 (Before)

V2 (After)

Checkout Object

Shopify.checkout

event.data.checkout

Line Items Objects

Shopify.checkout.line_items

event.data.checkout.lineItems

Order ID

Shopify.checkout.order_id

event.data.checkout.order.id

Currency

Shopify.checkout.currency

event.data.checkout.currencyCode

Coupon Code

Shopify.checkout.discount ? Shopify.checkout.discount.code: ''

event.data.checkout.discountApplications.find(discount => discount.type === "DISCOUNT_CODE")?.title ?? ''

Order amount

Shopify.checkout.subtotal_price

event.data.checkout.subtotalPrice.amount

Shipping Address Object

Shopify.checkout.shipping_address

event.data.checkout.shippingAddress

Email

Shopify.checkout.email

event.data.checkout.email

Line Item SKU

item.sku

item.variant.sku

Line Item Price

item.price

item.finalLinePrice.amount


Reporting Features

Finding Conversion Data

  • Search by Order ID in the top-right search bar of the Platform

  • Or navigate to Reporting > Conversion

  • Add these columns to see Shopify details:

    • Order ID

    • Order Number

    • Order Items

You can also filter conversions by Order ID on the Conversion Report by selecting it as a filter.

Attribution Method

The "Attribution Method" for Shopify reconciliation is displayed as "Integration" in your Everflow instance.

To verify reconciliation attribution:

  1. Go to Reports > Conversion Report

  2. Run the report for your desired date range

  3. In your Detailed Report, click the hamburger menu (≡)

  4. Select Columns Customization

  5. Toggle on Attribution Method

  6. Click Apply

Refunds Report

Navigate to Reporting > Refunds. For more information - [Click Here]


Technical Details: How V2 Works

Our Shopify V2 integration uses Shopify’s Customer Event Pixels (CEP) technology to transfer data between Shopify and Everflow. This represents a significant upgrade from our previous script tag approach in V1.

Technical Mechanics

  • Web Pixel Extension: Our dedicated extension captures customer events in real-time

  • Server-Side API: When customers interact with your store (purchases, cart additions), the Customer Event Pixels automatically capture and transfer data to Everflow

  • Improved Reliability: Built on Shopify CLI technology for more reliable tracking and future feature expansion


Frequently Asked Questions

Is ReCharge Integration Compatible with Shopify V2?

We're pleased to confirm that our ReCharge integration works seamlessly with Shopify V2. If you're still using Shopify V1, we strongly recommend migrating to V2 before August 22nd to prevent any tracking interruption.

Integrating with ReCharge allows you to attribute both initial and recurring subscription purchases from your Shopify store, giving you valuable insight into your subscription business performance.

For detailed setup instructions, please refer to our complete ReCharge integration guide.

Are additional events supported in V2?

Not at this time. Additional events are a work in progress.

Do coupon codes and email attribution work automatically?

Yes, both work out of the box.

How does click tracking prevent multiple fires?

We only process clicks with specific Offer and affiliate ID values on the initial landing page.

Can I add additional events in Shopify using CEP?

  • Navigate to Settings > Customer Events > Add Custom Pixel.

  • Name the pixel and click Add Pixel.

Examples of Customer Events

  1. INSERT_ADVERTISER_ID - replace with Advertiser ID

  2. INSERT_ADVERTISER_EVENT_ID - replace with Advertiser Event ID, offer level events cannot be used, must be Advertiser Event ID

  3. INSERT_TRACKING_DOMAIN - replace with Tracking Domain

  • product_added_to_cart: When someone adds a product to their cart, the product_added_to_cart event gets triggered. This can happen on any store page where customers can add items to their cart.

Code

analytics.subscribe("product_added_to_cart", (event) => { console.log('Everflow event tracking started');

var script = document.createElement('script');

script.onload = function() {

var aid = INSERT_ADVERTISER_ID;

var adv_event_id = INSERT_ADVERTISER_EVENT_ID;

var eftid = EF.getAdvertiserTransactionId(aid);

var data = {

aid: aid,

adv_event_id: adv_event_id,

transaction_id: eftid,

};

EF.conversion(data).then((result) => {

console.log(result);

});

}

script.src = 'https://www.INSERT_TRACKING_DOMAIN.com/scripts/sdk/everflow.js'; script.async = true; document.head.appendChild(script);

});

  • checkout_started: The checkout_started event happens when someone starts checking out. If your store Checkout Extensibility, this event triggers every time they enter checkout. For non-checkout extensible shops, it only triggers the first time they start checking out.

Code

analytics.subscribe("checkout_started", (event) => {

console.log('Everflow event tracking started');

var script = document.createElement('script');

script.onload = function() {

var aid = INSERT_ADVERTISER_ID;

var adv_event_id = INSERT_ADVERTISER_EVENT_ID;

var eftid = EF.getAdvertiserTransactionId(aid);

var data = {

aid: aid,

adv_event_id: adv_event_id,

transaction_id: eftid,

};

EF.conversion(data).then((result) => {

console.log(result);

});

}

script.src = 'https://www.INSERT_TRACKING_DOMAIN.com/scripts/sdk/everflow.js'; script.async = true; document.head.appendChild(script);

});

Setting up these events is straightforward - just add them in Everflow and use the Advertiser Event ID in your customer event pixel. But it's always good to check with Everflow Support if you need help. They're there to make sure everything's working the way it should!


Did this answer your question?