Integration with Shopify

Shopify is one of the most popular eCommerce platforms that allows you to sell merchandise online through various channels, including social media, and finalize orders using popular payment methods (such as PayPal). Currently, it is used by over a million companies around the world.

 

To download the plugin, click here.


Contents

  1. Basic information
  2. Scope of integration
  3. Installation
  4. Configuration
    a) Logging in
    b) Account Settings
    c) Data export
    d) Shopify Settings
  5. Technical description
    a) External events
    b) Webhooks
    c) Archival data export
    d) Monitoring script

1. Basic information

In this article, you will find detailed information about integration with the Shopify platform. The plugin is constantly being improved and available for free to our customers.

Integrating Shopify with your SALESmanago account will enable you to transfer relevant contact and transaction data between platforms. You can use this information to automate marketing activities and thus boost your sales in the e-store.


 

2. Scope of integration

After logging in to the plugin, synchronization and data transfer are performed automatically. The scope of integration includes sending the following data to SALESmanago:

  • Contacts gained during registration and purchase.
  • Events: CART, PURCHASE.
  • Newsletter subscription status (opt-in, opt-out).
  • Previous interactions (archival customer and order data).

The integration automatically adds the Monitoring Code to the website. This enables you to send information about visitors and display Live Chat and Lead Generation widgets.


 

3. Installation

IMPORTANT: Due to the Safari privacy policy changes, it is not possible to install and configure this plugin via Safari. However, your e-store remains perfectly accessible to any Safari user.

To start the installation, go to the Shopify App Store and click Add app. On the next screen, log in to your Shopify account.

 

Then, from the list of stores, select the one you want to integrate with the SALESmanago system.

IMPORTANT: If the store you want to integrate is not available on the list, you can use an alternative installation method. Go to the SALESmanago Shopify App and enter the store URL (in the format url-shop.myshopify.com).

The next screen provides detailed information about the integration with SALESmanago.

Click Install app to proceed.


 

4. Configuration

A. Logging in

After installing the plugin, you will see a login screen. Enter the data you use when logging into SALESmanago. If your SALESmanago account is on a different (custom) endpoint, click Change endpoint and enter the appropriate address in the field.

Sometimes, you may experience some minor difficulties when logging in. Possible reasons include:

  • Incorrect login data – to solve this problem, check your data by logging in to the SALESmanago admin panel.
  • Two-Factor Authentication (2FA) – if you use this login method, please contact Customer Success for more information.
  • Incorrect endpoint – if your SALESmanago account is on a different (custom) endpoint, use the Change endpoint option.

IMPORTANT: You can check the endpoint assigned to your account in the SALESmanago system (Settings Integration). If the endpoint starts with anything other than “www”, “app2” or “app3”, contact Customer Success.

After correctly logging in, you can configure the integration settings and export archival data to SALESmanago.

B. Account Settings

Here, you can manage synchronization settings and check your SALESmanago account information.

NOTE: NEW PATH. The links must now be pasted in SALESmanago → Integration Center → Callbacks

Callback settings for opt-in and opt-out

Callbacks allow you to synchronize opt-in and opt-out status from SALESmanago to Shopify, e.g., when:

  • The contact unsubscribes from the newsletter via the link in the email footer.
  • The contact subscribes to the newsletter via Lead Generation widgets (e.g., pop-ups).
  • The contact status is changed manually or on some other integration.

Callback URLs should be copied and pasted into the appropriate fields in the SALESmanago system (Integration Center → Callbacks).

Read more about callbacks >>

Settings for integration with SALESmanago

[1] Client ID – this is the identifier of your SALESmanago account. Once you are logged in, you can find it in Settings Integration. This information is added automatically, so you do not need to edit it.

[2] Endpoint indicates the location of your SALESmanago account. This information is added automatically, so you do not need to edit it.

[3] E-store ID (location) – is the Product Feed ID that allows you to match orders and transactions from your Shopify store to the Product Feed added in SALESmanago. The value of this field should match the location field configured in the SALESmanago system (Settings Integration Product Feeds). It is important to make any necessary edits so that they both have the same value. This data will be used to display products in the recommendation frames, newsletters, and Web Push notifications.

[4] Contact owner email – in this drop-down list, you will find email addresses of those in the SALESmanago account that have the contact owner role. Select the email address to which new contacts sent from your store will be assigned.

IMPORTANT: If the email address you are searching for is not in the drop-down list, click on the refresh button to synchronize the current list of contact owners from SALESmanago.

[5] During new user registration, download the consent status of the contact from SALESmanago – choose ON” if you want to check whether a contact who registered on your platform is already in the SALESmanago database. If an opt-in contact omits the consent when registering, they will keep the opt-in status both in the SALESmanago system and the Shopify platform. 

[6] During new user subscription, use Double Opt-in – choose ON” if you want to activate the Double Opt-in option. This is a mechanism where a user must confirm their email address through another link following their subscription. This action is in line with the best practices of consent-based marketing. At the same time, it increases the chances of high deliverability, Open Rate, and conversion rates in the indicated channel.

By default, a confirmation email will be sent in the language version corresponding to that of the user’s browser. If you have configured the sending of confirmation emails in SALESmanago, leave these fields blank so that the data can be downloaded directly from the system. If you want to choose a specific template, complete all 3 fields.

[A] Email template ID – use the confirmation email template created in the SALESmanago system.

[B] Email account ID – indicate the email account in the SALESmanago system from which the confirmation message will be sent.

[C] Email subject enter the subject of the confirmation email.

Read more about enabling Double opt-in on eCommerce platforms >>

 

C. Export

Use the available options to adjust the time range and settings of the events to be transferred from your Shopify store to SALESmanago.

Before you start exporting, there are three things to note:

  1. You can export contacts multiple times, i.e. the contact data will be updated in SALESmanago following each transfer.
  2. You should export contacts before exporting external events. Make sure your contacts are in the SALESmanago database before transferring orders.
  3. You should export external events only once, otherwise the data sent to SALESmanago will be duplicated.

[1] Export contacts to SALESmanago – select this option if you want to transfer pre-existing Shopify contacts in batches of 250. New contacts are transferred automatically in real-time.

[A] Time range – select the time range from which the contacts are to be exported. By clicking the Count button, you can see how many contacts will be included after applying this filter. This makes it easier to plan the entire data transfer process.

[B] Add tags to exported contacts – enter the tags that will be assigned to the contacts following the export to SALESmanago. Separate them using commas with no spaces.

[2] Export historical transaction data – this option lets you transfer order data from before you installed the SALESmanago plugin, in batches of 250.

[A] Time range – select the time range from which the orders are to be exported. By clicking the Count button, you can see how many transactions will be included after applying this filter. This makes it easier to plan the entire data transfer process.

[B] Additional filter – check this option if you want to include both paid/unfulfilled and paid/fulfilled transactions in the export. By default, without the additional filter, the export includes orders with the paid/unfulfilled status.

After selecting the options, click Export.

D. Shopify Settings

Edit the data parameters sent to your SALESmanago account. By adjusting them to your needs, you can fully personalize the integration of the selected store.

[1] Type of product ID – choose the type of product identifier transferred as the product’s External ID. You can choose from the following:

  • ID – product identifier created within your store.
  • Variant_ID – product identifier created within your store, taking into account different variants of a given item (e.g., color, size).
  • SKU – the trade identifier of the products (Stock Keeping Unit).

[2] The time the cookie SMEVENT expires (h) – select the time after which the CART event will no longer be updated. Whenever a customer adds a product to the cart, this creates a CART event in SALESmanago and a smevent cookie in your e-store. The selected cookie lifetime is the period over which the CART event is updated. You can set the number of hours by using the slider or entering it manually.

EXAMPLE: If you select a 12h cookie lifetime, the CART event keeps updating for 12 hours from the time of adding the product to the cart. After this cookie expires, the event is no longer updated and a new CART event is created for the contact.

[3] Ignored email domains – contacts whose email addresses contain the domains entered in this field will not be transferred to SALESmanago. In particular, you can enter temporary emails and indirect emails domains, e.g., randomized email addresses used by Marketplace providers.

IMPORTANT: Separate particular domains with commas, without spaces (e.g., example.com, domain.com).

[4] Tags – in selected categories, set tags that will be assigned to contacts sent to SALESmanago:

  • Tags assigned after registration.
  • Tags assigned after subscription to the newsletter.
  • Tags assigned after purchase.
  • Tags assigned after guest purchase.

IMPORTANT: All tags should be separated by commas, without spaces (e.g., SHOPIFY_REGISTRATION,SHOPIFY_NEW_REGISTER_PAGE).

After making changes, click on the Save settings button.


 

5. Technical description

The integration settings are in the iframe window on a domain other than your store. Therefore, some browsers (in particular Safari) may not display the plugin settings properly.

A. External events

A CART event is sent to SALESmanago only when a user enters the cart page. The operation of adding a product to the cart does not impact the transfer of events to the system.

B. Webhooks

Shopify includes mandatory webhooks that must be implemented in the code of each public app:

  • CUSTOMER_REDACT – runs when the store owner requests the removal of customer data on behalf of the customer.
  • SHOP_REDACT – runs 48 hours after the application is uninstalled by the store owner. The data sent in this webhook are the store ID and domain.

Other webhooks used by the SALESmanago:

  • CUSTOMER_CREATE – runs when an account is being registered, when subscribing to the newsletter, or when a new user is being added from the admin panel.
  • CUSTOMER_UPDATE – runs when the account is being edited from the store admin panel and frontend.
  • ORDER_CREATE – runs after a user has passed the entire order stage (frontend) and when creating an order manually, or when a draft order is marked as paid (store administration panel).
  • ORDER_CANCEL – runs after an order is canceled.
  • CHECKOUTS_CREATE – runs when an order is initiated, i.e., moved from the cart to the order.
  • CHECKOUTS_UPDATE – runs when a user has moved from one step to another along the ordering path.

C. Archival data export

The export mechanism is based on JavaScript and PHP communication.

During export, the data is divided into batches of 250 contacts or events and then sent to the SALESmanago system. The batches are sent synchronously. After one batch has been packed and transferred, then, depending on the API response the whole process will be repeated for the next batch until they run out or the export is interrupted. If the API response time is longer than 1 second, the export will be disrupted.

D. Monitoring script

Shopify provides the ability to load JavaScript on your store page. The monitoring script is added automatically after logging in to your SALESmanago account on this plugin.

The frontend script smclient.js is registered to the onload JavaScript event. Frontend-related data is stored in local.Storage.

The methods used on the frontend are cookies and events management or gathering information about the user (data from the registration form and newsletter, data about the cart).

Shopify is one of the most popular eCommerce platforms that allows you to sell merchandise online through various channels, including social media, and finalize orders using popular payment methods (such as PayPal). Currently, it is used by over a million companies around the world.

 

To download the plugin, click here.


Contents

  1. Basic information
  2. Scope of integration
  3. Installation
  4. Configuration
    a) Logging in
    b) Account Settings
    c) Data export
    d) Shopify Settings
  5. Technical description
    a) External events
    b) Webhooks
    c) Archival data export
    d) Monitoring script

1. Basic information

In this article, you will find detailed information about integration with the Shopify platform. The plugin is constantly being improved and available for free to our customers.

Integrating Shopify with your SALESmanago account will enable you to transfer relevant contact and transaction data between platforms. You can use this information to automate marketing activities and thus boost your sales in the e-store.


 

2. Scope of integration

After logging in to the plugin, synchronization and data transfer are performed automatically. The scope of integration includes sending the following data to SALESmanago:

  • Contacts gained during registration and purchase.
  • Events: CART, PURCHASE.
  • Newsletter subscription status (opt-in, opt-out).
  • Previous interactions (archival customer and order data).

The integration automatically adds the Monitoring Code to the website. This enables you to send information about visitors and display Live Chat and Lead Generation widgets.


 

2. Installation

IMPORTANT: Due to the Safari privacy policy changes, it is not possible to install and configure this plugin via Safari. However, your e-store remains perfectly accessible to any Safari user.


To start the installation, go to the Shopify App Store and click Add app. On the next screen, log in to your Shopify account.

Then, from the list of stores, select the one you want to integrate with the SALESmanago system.

IMPORTANT: If the store you want to integrate is not available on the list, you can use an alternative installation method. Go to the SALESmanago Shopify App and enter the store URL (in the format url-shop.myshopify.com).

The next screen provides detailed information about the integration with SALESmanago.

Click Install app to proceed.


 

4. Configuration

A. Logging in

After installing the plugin, you will see a login screen. Enter the data you use when logging into SALESmanago. If your SALESmanago account is on a different (custom) endpoint, click Change endpoint and enter the appropriate address in the field.

Sometimes, you may experience some minor difficulties when logging in. Possible reasons include:

  • Incorrect login data – to solve this problem, check your data by logging in to the SALESmanago admin panel.
  • Two-Factor Authentication (2FA) – if you use this login method, please contact Customer Success for more information.
  • Incorrect endpoint – if your SALESmanago account is on a different (custom) endpoint, use the Change endpoint option.

IMPORTANT: You can check the endpoint assigned to your account in the SALESmanago system (Settings Integration). If the endpoint starts with anything other than “www”, “app2” or “app3”, contact Customer Success.

After correctly logging in, you can configure the integration settings and export archival data to SALESmanago.

B. Account Settings

Here, you can manage synchronization settings and check your SALESmanago account information.

Callback settings for opt-in and opt-out

Callbacks allow you to synchronize opt-in and opt-out status from SALESmanago to Shopify, e.g., when:

  • The contact unsubscribes from the newsletter via the link in the email footer.
  • The contact subscribes to the newsletter via Lead Generation widgets (e.g., pop-ups).
  • The contact status is changed manually or on some other integration.

Callback URLs should be copied into the appropriate fields in the SALESmanago system (Settings Other Application).

Read more about callbacks >>

Settings for integration with SALESmanago

[1] Client ID – this is the identifier of your SALESmanago account. Once you are logged in, you can find it in Settings Integration. This information is added automatically, so you do not need to edit it.

[2] Endpoint indicates the location of your SALESmanago account. This information is added automatically, so you do not need to edit it.

[3] E-store ID (location) – is the Product Feed ID that allows you to match orders and transactions from your Shopify store to the Product Feed added in SALESmanago. The value of this field should match the location field configured in the SALESmanago system (Settings Integration Product Feeds). It is important to make any necessary edits so that they both have the same value. This data will be used to display products in the recommendation frames, newsletters, and Web Push notifications.

[4] Contact owner email – in this drop-down list, you will find email addresses of those in the SALESmanago account that have the contact owner role. Select the email address to which new contacts sent from your store will be assigned.

IMPORTANT: If the email address you are searching for is not in the drop-down list, click on the refresh button to synchronize the current list of contact owners from SALESmanago.

[5] During new user registration, download the consent status of the contact from SALESmanago – choose ON” if you want to check whether a contact who registered on your platform is already in the SALESmanago database. If an opt-in contact omits the consent when registering, they will keep the opt-in status both in the SALESmanago system and the Shopify platform. 

[6] During new user subscription, use Double Opt-in – choose ON” if you want to activate the Double Opt-in option. This is a mechanism where a user must confirm their email address through another link following their subscription. This action is in line with the best practices of consent-based marketing. At the same time, it increases the chances of high deliverability, Open Rate, and conversion rates in the indicated channel.

By default, a confirmation email will be sent in the language version corresponding to that of the user’s browser. If you have configured the sending of confirmation emails in SALESmanago, leave these fields blank so that the data can be downloaded directly from the system. If you want to choose a specific template, complete all 3 fields.

[A] Email template ID – use the confirmation email template created in the SALESmanago system.

[B] Email account ID – indicate the email account in the SALESmanago system from which the confirmation message will be sent.

[C] Email subject enter the subject of the confirmation email.

Read more about enabling Double opt-in on eCommerce platforms >>

 

C. Export

Use the available options to adjust the time range and settings of the events to be transferred from your Shopify store to SALESmanago.

Before you start exporting, there are three things to note:

  1. You can export contacts multiple times, i.e. the contact data will be updated in SALESmanago following each transfer.
  2. You should export contacts before exporting external events. Make sure your contacts are in the SALESmanago database before transferring orders.
  3. You should export external events only once, otherwise the data sent to SALESmanago will be duplicated.

[1] Export contacts to SALESmanago – select this option if you want to transfer pre-existing Shopify contacts in batches of 250. New contacts are transferred automatically in real-time.

[A] Time range – select the time range from which the contacts are to be exported. By clicking the Count button, you can see how many contacts will be included after applying this filter. This makes it easier to plan the entire data transfer process.

[B] Add tags to exported contacts – enter the tags that will be assigned to the contacts following the export to SALESmanago. Separate them using commas with no spaces.

[2] Export historical transaction data – this option lets you transfer order data from before you installed the SALESmanago plugin, in batches of 250.

[A] Time range – select the time range from which the orders are to be exported. By clicking the Count button, you can see how many transactions will be included after applying this filter. This makes it easier to plan the entire data transfer process.

[B] Additional filter – check this option if you want to include both paid/unfulfilled and paid/fulfilled transactions in the export. By default, without the additional filter, the export includes orders with the paid/unfulfilled status.


After selecting the options, click Export.

D. Shopify Settings

Edit the data parameters sent to your SALESmanago account. By adjusting them to your needs, you can fully personalize the integration of the selected store.

[1] Type of product ID – choose the type of product identifier transferred as the product’s External ID. You can choose from the following:

  • ID – product identifier created within your store.
  • Variant_ID – product identifier created within your store, taking into account different variants of a given item (e.g., color, size).
  • SKU – the trade identifier of the products (Stock Keeping Unit).

[2] The time the cookie SMEVENT expires (h) – select the time after which the CART event will no longer be updated. Whenever a customer adds a product to the cart, this creates a CART event in SALESmanago and a smevent cookie in your e-store. The selected cookie lifetime is the period over which the CART event is updated. You can set the number of hours by using the slider or entering it manually.

EXAMPLE: If you select a 12h cookie lifetime, the CART event keeps updating for 12 hours from the time of adding the product to the cart. After this cookie expires, the event is no longer updated and a new CART event is created for the contact.

[3] Ignored email domains – contacts whose email addresses contain the domains entered in this field will not be transferred to SALESmanago. In particular, you can enter temporary emails and indirect emails domains, e.g., randomized email addresses used by Marketplace providers.

IMPORTANT: Separate particular domains with commas, without spaces (e.g., example.com, domain.com).

[4] Tags – in selected categories, set tags that will be assigned to contacts sent to SALESmanago:

  • Tags assigned after registration.
  • Tags assigned after subscription to the newsletter.
  • Tags assigned after purchase.
  • Tags assigned after guest purchase.

IMPORTANT: All tags should be separated by commas, without spaces (e.g., SHOPIFY_REGISTRATION,SHOPIFY_NEW_REGISTER_PAGE).

After making changes, click on the Save settings button.


 

5. Technical description

The integration settings are in the iframe window on a domain other than your store. Therefore, some browsers (in particular Safari) may not display the plugin settings properly.

A. External events

A CART event is sent to SALESmanago only when a user enters the cart page. The operation of adding a product to the cart does not impact the transfer of events to the system.

B. Webhooks

Shopify includes mandatory webhooks that must be implemented in the code of each public app:

  • CUSTOMER_REDACT – runs when the store owner requests the removal of customer data on behalf of the customer.
  • SHOP_REDACT – runs 48 hours after the application is uninstalled by the store owner. The data sent in this webhook are the store ID and domain.

Other webhooks used by the SALESmanago:

  • CUSTOMER_CREATE – runs when an account is being registered, when subscribing to the newsletter, or when a new user is being added from the admin panel.
  • CUSTOMER_UPDATE – runs when the account is being edited from the store admin panel and frontend.
  • ORDER_CREATE – runs after a user has passed the entire order stage (frontend) and when creating an order manually, or when a draft order is marked as paid (store administration panel).
  • ORDER_CANCEL – runs after an order is canceled.
  • CHECKOUTS_CREATE – runs when an order is initiated, i.e., moved from the cart to the order.
  • CHECKOUTS_UPDATE – runs when a user has moved from one step to another along the ordering path.

C. Archival data export

The export mechanism is based on JavaScript and PHP communication.

During export, the data is divided into batches of 250 contacts or events and then sent to the SALESmanago system. The batches are sent synchronously. After one batch has been packed and transferred, then, depending on the API response the whole process will be repeated for the next batch until they run out or the export is interrupted. If the API response time is longer than 1 second, the export will be disrupted.

D. Monitoring script

Shopify provides the ability to load JavaScript on your store page. The monitoring script is added automatically after logging in to your SALESmanago account on this plugin.

The frontend script smclient.js is registered to the onload JavaScript event. Frontend-related data is stored in local.Storage.

The methods used on the frontend are cookies and events management or gathering information about the user (data from the registration form and newsletter, data about the cart).

If you need more information about the topic mentioned above, please contact us: support@salesmanago.com +1 800 960 0640