Shopify

Learn how to integrate your Shopify store with CleverTap.

Overview

CleverTap plugin provides an easy way to integrate your Shopify stores within minutes without any code. All you need is a CleverTap account and you can have a seamless flow of events and user data from your Shopify store. You can also send personalized messages to your users through channels such as Web Push notifications, Web Pop-up, Web Exit Intent, and Web Native Display.

Video Tutorial - Integrating Shopify Store with CleverTap


Integrate Shopify

You can install the CleverTap App from the Shopify App Store. Login to the CleverTap dashboard and follow the steps to complete the integration:

Follow the steps to locate the Shopify plugin on the CleverTap dashboard:

  1. Login to your CleverTap account.
  2. Open Settings > Project > Shopify.
Locate the Shopify Plugin

Locate the Shopify Plugin

  1. The Shopify window displays. Click Integrate Store button to start the integration.

The integration includes the following steps:

  1. Install and Connect App
  2. Advanced Customization
  3. Enable App Embed

Install and Connect App

If you have already installed the app from the Shopify App Store, App Installed is displayed next to your store name. However, if you are installing the app for the first time, you can install it from the Shopify dashboard.

Follow the steps below to install the CleverTap app:

  1. Click the Install CleverTap on Shopify dashboard link.
Install from CleverTap

Install from CleverTap

  1. The link opens the Shopify App Store page. Check that you are logged in to the store and click Install.
Install CleverTap App from Shopify Store

Install CleverTap App

  1. You can now connect your store from the CleverTap dashboard and click Continue.
Enter Shopify Store Name

Enter Shopify Store Name

  1. Enter your credentials if you are not logged in to your Shopify store and continue the process.

Your store is now connected to your CleverTap account.

Advanced Customization

After your store is connected and installed, you can start customizing it per your requirements. You can configure the web push for your store and also customize the event data received from your Shopify store.

Configure Web Push

You can send personalized communication to your users through Web Push notifications. However, you must enable them first from the CleverTap dashboard.

Check that Web Push is configured for your store. If not configured, you must configure the Web Push from the CleverTap dashboard.

After the Web Push is configured, enable the notification prompts. Click Web Push configuration and toggle ON Send notification permission prompt to enable CleverTap Web Push notifications.

Integrate with Web Push

Enable Web Push

Customize Event Data

Event data customization includes event and profile data. You can choose to receive only the required data and opt out of receiving any data that is not required.

Profile Properties

CleverTap allows you to select only the required Profile properties. To select the Profile properties, follow the steps listed below:

  1. Go to Settings > Project > Shopify > Advanced Customization > Event Data Customization.
  2. Click Edit.
  3. Click the Profile properties list and select the required properties.
  4. Click Apply.
Select required profile properties

Select the Required Profile Properties

The following table displays all the user properties supported by the Shopify plugin:

User PropertyProperty Description
EmailThe customer's email address. For example, [email protected].
PhoneThe customer's mobile number. For example, 97650000.
TagsThe list of tags associated with the customer. For example, Gold customer.
CityThe customer's city. For example, Mumbai.
Orders CountThe total number of orders from a customer.
Total SpentTotal amount spent on all orders. For example, 5400.
Shopify IDThe Shopify ID of the customer. For example, 29873645910.
First NameThe customer's first name.
LastNameThe customer's first name.
Last Order IDThe order ID of the last order placed by the customer.
Has AccountThis property returns the value as true if the email associated with the customer is linked to a customer account. The property returns the value as false if the email is not linked to the customer account.
Tax ExemptWhether or not the customer is exempt from taxes.
Email Marketing ConsentRecords the consent status of the customer for receiving marketing communication through Email.
SMS Marketing ConsentRecords the consent status of the customer for receiving marketing communication through SMS.
NoteA note left by the customer to the merchant, either in their cart or during checkout.
CurrencyThe currency of purchase.

Events

CleverTap receives events from the following two sources:

  • Shopify Webhook : After you integrate your store, CleverTap subscribes to the selected Webhook events for your Shopify store.
  • Web SDK :These are the supported events that CleverTap Web SDK captures from your Shopify store.

Select the events you want to receive from the Shopify Webhook and the Web SDK.

Receive Events from SDK

Receive Events from CleverTap SDK and Shopify Webhook

You can also select to Receive data for Charged event or opt-out. Select either of the following events that you want CleverTap to record as a Charged event:

  • Order Paid : This event is passed to CleverTap by the Shopify webhook when an order is paid.
  • Order Created : This event is passed to CleverTap by the Shopify webhook when an order is created.
Web SDK Supported Events

The following table displays all the events supported by the CleverTap Web SDK:

Event NameDescriptionProperties
Page BrowseThis event is recorded when the user visits a page
  • Page - The store page. For example, Index page.
  • Title - Title of the page. For example, Acme home.
  • URL - URL of the page. For example, https://mystore.myshopify.com/.
Product ViewedWhen the user views a product
  • Available - Availability of the product. For example, TRUE.
  • Currency - Shopify store currency. For example, INR.
  • Handle - Product Handle. For example, nike-sneakers-shoe.
  • ID - Product ID. For example, 6744256675993.
  • Price - Product Price. For example, 2999.
  • Title - Product Title. For example, Nike Sneakers Shoe.
  • TotalVariants - Number of variants available. For example, 3.
  • URL - URL of the product page. For example, /products/nike-sneakers-shoe.
Searched ProductWhen a product is searched
  • Currency - Shopify store currency.
  • Term - Search terms used. For example, red shoe.
  • TotalItems - Number of items in search results. For example, 1.
Added To CartWhen a product is added to cart
  • Currency - Shopify store currency. For example, INR.
  • Image - URL of the product image. For example, https://cdn.shopify.com/s/files/products/RedT-shirt.jpg.
  • Price - Product Price. For example, 2999.
  • ProductId - Product ID. For example, 6744249139353.
  • ProductType - Type of the product. For example, T-shirts.
  • Quantity - Product Quantity. For example, 1.
  • Title - Product Title. For example, Red T-shirt.
  • URL - Product URL. For example, /products/red-t-shirt-1?variant=39972529471641.
  • VariantId - Variant ID. For example, 39972529471641.
  • VariantTitle - Variant Title. For example, Nike Sneakers Shoe.
  • Vendor - Vendor name. For example, Acme stores.
Removed from CartWhen a product is removed from cart
  • Currency - Shopify store currency. For example, INR.
  • Image - URL of the product image. For example, https://cdn.shopify.com/s/files/products/RedT-shirt.jpg.
  • Price - Product Price. For example, 2999.
  • ProductId - Product ID. For example, 6744249139353.
  • ProductType - Type of the product. For example, T-shirts.
  • Quantity - Product Quantity. For example, 1.
  • Title - Product Title. For example, Red T-shirt.
  • URL - Product URL. For example, /products/red-t-shirt-1?variant=39972529471641.
  • VariantId - Variant ID. For example, 39972529471641.
  • VariantTitle - Variant Title. For example, Nike Sneakers Shoe.
  • Vendor - Vendor name. For example, Acme stores.
Customer RegisteredWhen a customer registers on the Shopify store
  • Email - Customer's email address. For example, [email protected].
  • Name - Customer's name. For example, John Doe
  • FirstName - Customer's first name. For example, John.
  • LastName - Customer's last name. For example, Doe.
  • ID - Customer ID. For example, 5204453556377.
Customer Logged InWhen a customer logs in to the Shopify store.
  • Email - Customer's email address. For example, [email protected].
  • Name - Customer's name. For example, John Doe
  • FirstName - Customer's first name. For example, John.
  • LastName - Customer's last name. For example, Doe.
  • ID - Customer ID. For example, 5204453556377.
Customer Logged OutWhen a customer logs out of the Shopify store.None.

📘

Note

The Charged and Checkout events are received through Shopify Webhooks. Therefore, these events are be received at CleverTap only for the users who have logged in.

Webhook Supported Events

The following events are supported via the Shopify Webhook:

Sr. NoEventsEvent Properties
1Customer Created

Customer Update
Event Properties Event Properties
customer-idcustomer email
customer accepts marketingcustomer created at
customer updated atcustomer first name
customer last nameorders count
total spentcustomer phone
TAGS
2Checkout Create

Checkout Updated

Checkout Deleted

Draft Order Created

Draft Order Updated
Event PropertiesEvent Properties
emailbuyer accepts marketing
Created AtUpdated At
user idlocation id
device idphone
customer localename
sourceabandoned checkout url
source nametotal price
subtotal priceCurrency
gatewaybilling address zip
billing address provincebilling address country
billing address citybilling address province code
billing address country codeship address zip
ship address provinceship address country
ship address cityship address province code
ship address country codedefault address zip
default address provincedefault address country
default address citydefault address province code
default address country codeTAGS
customer-idcustomer email
customer accepts marketingcustomer created at
customer updated atcustomer first name
customer last nameorders count
total spentcustomer phone
3Fulfillment Created

Fulfillment Updated
Event PropertiesEvent Properties
iddestinationfirstname
orderiddestinationlastname
statusdestinationaddress1
CreatedAtdestinationphone
UpdatedAtdestinationcity
emaildestinationzip
servicedestinationprovince
trackingcompanydestinationcountry
shipmentstatusdestinationaddress2
locationiddestinationcompany
trackingnumberdestinationlatitude
trackingurldestinationlongitude
namedestinationname
destinationcountrycodedestinationprovincecode
4Order Created

Order Updated

Order Cancelled

Order Fulfilled

Order Partially Fulfilled
Event PropertiesEvent Properties
numbernumber
closed attoken
gatewaytest
total weighttotal tax
taxes includedfinancial status
confirmedtotal discounts
total line items pricecart token
buyer accepts marketingname
referring sitelanding site
cancelled atcancel reason
total price usdcheckout token
referencesource identifier
source urlprocessed at
device idapp id
browser iplanding site ref
order numberprocessing method
checkout idsource name
fulfillment statuscontact email
order status urlpresentment currency
total line items amounttotal line items currency
total discount amounttotal discount currency
total shipping amounttotal shipping currency
Total Price amountTotal Price currency
Total Tax amountTotal Tax currency
emailbuyer accepts marketing
Created AtUpdated At
user idlocation id
device idphone
customer localename
sourceabandoned checkout url
source nametotal price
subtotal priceCurrency
gatewaybilling address zip
billing address provincebilling address country
billing address citybilling address province code
billing address country codeship address zip
ship address provinceship address country
ship address cityship address province code
ship address country codedefault address zip
default address provincedefault address country
default address citydefault address province code
default address country codeTAGS
customer-idcustomer email
customer accepts marketingcustomer created at
customer updated atcustomer first name
customer last nameorders count
total spentcustomer phone
5Order Paid
Event PropertiesEvent Properties
AmountCurrency
emailShip_country
Ship_regionShip_city
Items (Will be part of event prop if ORDERS_PAID is selected as charged)Checkout ID
Charged IDnumber
closed attoken
gatewaytest
total weighttotal tax
taxes includedfinancial status
confirmedtotal discounts
total line items pricecart token
buyer accepts marketingname
referring sitelanding site
cancelled atcancel reason
total price usdcheckout token
referencesource identifier
source urlprocessed at
device idapp id
browser iplanding site ref
order numberprocessing method
checkout idsource name
fulfillment statuscontact email
order status urlpresentment currency
total line items amounttotal line items currency
total discount amounttotal discount currency
total shipping amounttotal shipping currency
Total Price amountTotal Price currency
Total Tax amountTotal Tax currency
emailbuyer accepts marketing
Created AtUpdated At
user idlocation id
device idphone
customer localename
sourceabandoned checkout url
source nametotal price
subtotal priceCurrency
gatewaybilling address zip
billing address provincebilling address country
billing address citybilling address province code
billing address country codeship address zip
ship address provinceship address country
ship address cityship address province code
ship address country codedefault address zip
default address provincedefault address country
default address citydefault address province code
default address country codeTAGS
customer-idcustomer email
customer accepts marketingcustomer created at
customer updated atcustomer first name
customer last nameorders count
total spentcustomer phone

📘

Note

All the above-listed Webhook events will only be captured for logged-in users.

Enable App Embed Status

The App Embed status displays as Enabled if enabled already.

The App Embed status informs you if it is active. By default, app embed blocks are deactivated after an app is installed. However, if the App Embed status is Disabled , merchants must activate app embed blocks in the theme editor, from their Shopify theme settings. Refer to this detailed document on App embeds to learn more.

To enable CleverTap-Shopify App Embed on your Shopify store:

  1. Navigate to your Shopify store's theme settings page using the following URL:
    https://.myshopify.com/admin/themes/current/editor?context=apps&activateAppId=2566991a-cd89-49d8-997d-74717582b9ed/app-embed.
  2. Toggle ON the Clevertap-Shopify App embed and click Save at the top right corner.
2846

Toggle ON CleverTap-Shopify

To check if the CleverTap-Shopify App embed is enabled:

  1. Navigate to your Shopify store, right-click and, select Inspect.
  2. Navigate to Sources tab and select Page.
  3. Search for the clevertap-shopify.js file in the extensions folder under cdn.Shopify.com. Refer to the following image:
2262

Verify if CleverTap-Shopify App Embed is Enabled

Create Web Campaigns

The CleverTap Shopify plugin provides support for web channels such as Web Push , Web Pop-up , and Web Exit Intent without the need for any manual code integration.

To create a Web campaign:

  1. From the dashboard, navigate to Campaigns.
  2. Click + Campaign.
  3. Create a Web Push , Web Pop-up , or Web Exit Intent campaign to engage your users.

FAQs

Q. Does my current billing plan include integration with the Shopify plugin?

Yes. This Shopify plugin is available for all CleverTap billing plans.

Q. I have a Shopify web store and a mobile app. How do I target users who have performed an event on my Shopify store?

To target the users who have performed the event on your store:

  1. Select the event (for example, added to cart) in the CleverTap segment builder.
  2. Filter by event property CT Source equal to Shopify.
1005

Filtering Shopify Users from Find People Page

Q. I see a warning Shopify installation seems to have a few missing files displayed at the end of the Project page. How do I resolve this warning?

CleverTap recommends reinstalling the plugin by clicking Reinstall.

Q. Will this plugin work for Shopify Plus customers?

Yes. This Plugin works for Shopify Plus customers too.