Shopify

Shopify is an e-commerce platform that provides businesses with the tools to create and manage an online store. It offers a wide range of features such as customizable storefronts, payment processing, shipping, and order management.

Antavo’s loyalty application for Shopify is supported both in a web-based and POS version. By integrating Antavo with Shopify, you can track customers' behavior and reward them for different kinds of interactions, which can increase customer engagement, retention, and overall revenue.

The Antavo Shopify module is not limited to supporting a single shop; it has the capability to support multiple shops and manages to sync data across multiple Shopify stores within a brand. The system provides an editing surface for each shop separately, and it also allows the creation of new shops.

This document shows the configuration of the shops and assists in testing some of their basic functionalities.

The first section describes the tasks that you need to perform in Antavo to connect the two systems and synchronize customer actions (referred to as customer events in this document). This needs to be the first step of the configuration before the store installation happens.

The second section describes the configuration of the Antavo App in the Shopify store.

The final section describes common use cases: signing up for the loyalty program, ordering, changing product properties, and changing profile attributes.

Find the configuration page of the Shopify module by typing it into the Modules search bar. The page opens up to the stores you have already set up and you will find three tabs on the left-hand side: Shops, Settings and Incoming queue.

Configuring the Shopify module in Antavo

Shops

Here you can find the list of the stores that have been added to your brand.

Create a new shop

Click on the ‘Create new shop’ tab on the right side of the module’s page.

The interface for creating a new shop includes the following fields:

  • Shop
    Define here the unique identifier for your shop. The store identifier can be determined by removing the ‘https:’ protocol and any path component from the URL.
    For example, if your store's address is https://my-store.myshopify.com, then the store ID will be my-store.myshopify.com.

  • Name
    Define here the human-readable name for your shop.

  • Shop domain
    Add here the webshop's address.

  • Transaction ID
    The dropdown list allows you to choose from two options:

    • Transaction ID (numeric string)

    • Transaction Order ID
      There is a possibility to add prefix/suffix within Shopify, depending on the business structure.
      You can add a company identifier, a location code, or any other meaningful reference as a prefix, and order types, and fulfillment statuses, as a suffix.
      Go to the ‘Settings → Store details → Standards and Formats’ section to configure this format.

  • Primary ID
    Define here the primary identifier of your customers. This can be a unique ID, or also their email address.

  • Extract discount
    Mark this checkbox to have the subtotal calculated by extracting discounts.

  • Refund enabled
    Set here whether the fulfilled order can be refunded.

  • Product composit ID enabled
    This allows the product ID and the variant ID to be concatenated and separated by a hyphen. It is strongly recommended to turn it on before enabling the refund.

Edit a shop

  • The Shopify module’s page opens up to the stores you have already set up

  • Click on the shop you want to edit

  • Edit your shop

  • Save your changes by clicking ‘Update’.

Archive a shop

You have the option to delete shops from the Backoffice by archiving them.

  • Go to the page of the shop by clicking the ‘Edit’ button

  • Click on the ‘Archive’ button on the upper right-hand side of the page

  • Confirm your choice in the dialog that appears.

Archiving is irreversible. Once a Shopify store is archived in the Backoffice, it cannot be restored anymore.

Settings

The fields under the Settings tab allow you to add the shops and pair the corresponding webhook responses, allowing for seamless management and utilization of their functionalities.

  • Shop domain
    List here the name(s) of your webshop(s).

    • Please initiate the configuration process by setting up the shops first under the Create new shop section.

    • Consequently, you can select the shops that you want the system to handle. This step is necessary because configuring the shops alone is not enough to run the integration: here is where you activate the shops, enabling the system to effectively manage them.

Webhook settings

  • Orders created
    Configures the Antavo action when an order is placed in Shopify.
    Available options: Do nothing, Checkout

  • Orders updated
    Configures the Antavo event to be registered when the the webshop administrator modifies a transaction in Shopify, such as updating buyer information like phone numbers, or adding new/different items to the cart. Shopify refunds can also be registered through this webhook.
    The available options vary based on your use of the Checkout accept module:

    • If the module is enabled: Do nothing, Register partial or full refund

    • If the module is disabled: Do nothing, Checkout update / Checkout reject / Register partial or full refund

  • Orders fulfilled
    Configures the Antavo event to be registered when an order is fulfilled in Shopify.
    The available options vary based on your use of the Checkout accept module:

    • If the module is enabled: Do nothing, Checkout, Checkout accept

    • If the module is disabled: Do nothing, Checkout

  • Orders cancelled
    Configures the Antavo event to be registered when an order is cancelled in Shopify.
    The available options vary based on your use of the Checkout accept module:

    • If the module is enabled: Do nothing, Checkout reject

    • If the module is disabled: Do nothing

  • Orders deleted
    Configures the Antavo event to be registered when the webshop administrator deletes an order in Shopify.
    The available options vary based on your use of the Checkout accept module:

    • If the module is enabled: Do nothing

    • If the module is disabled: Do nothing, Checkout reject

Please note that the checkout_accept and checkout_reject event responses require the Checkout accept module to be activated to ensure that the necessary validations and response handling mechanisms are taken. If you need help in enabling this extension, contact the Antavo Service Desk for help.

Incoming queue

The processing of requests sent from Shopify is an async procedure for the following endpoints:

  • order/create

  • orders/update

  • orders/fulfilled

  • orders/cancel

  • orders/delete

  • customer/create

This means that the requests are registered to a queue first and the events are written down as the queue is processed, which ensures that Shopify can be provided with a response about the registration of the request instantly.

Requests sent to any other unlisted endpoint are getting processed without being added to the incoming queue.

The list of unprocessed queued items is visible under the Incoming queue tab in the Backoffice with the following information:

  • The ID of the request
    The ID is generated by Antavo.

  • Target URI
    The endpoint where the request was sent from Shopify.

  • Number of retries
    If the registration of the request runs into an error (eg. an order update is sent with an unexistent order ID), the retry mechanism attempts to register the event maximum of 5 times before the request is considered as a failed request.

  • Status of the request

    • pending - the request has not been processed yet

    • failed - the request failed after 5 unsuccessful attempts to be processed

  • Timestamp
    The date of the request being sent to Antavo.

Entries are removed from the queue when the request is successfully processed.

Connecting the Shopify webshop with Antavo

Enter https://api.{stack}.antavo.com/webhook/shopify/install?shop={shop} to your browser.

The {shop} here needs to be the exact name that was defined in the Shop domain field in Antavo’s Backoffice. So an example for this address would be: https://api.st1.antavo.com/webhook/shopify/install?shop=my-store.myshopify.com

Click on the ‘Install’ button in the upper right corner. Now Shopify will connect to the given brand’s environment in Antavo.

Now your webshop is connected to our platform and is ready to run the loyalty program. The following screen appears, the install was successful:

Use cases

This section explains a few scenarios that are the most common customer journeys between Shopify and Antavo.

Please make sure that the Checkout accept module is activated in all relevant use cases resulting in a checkout_update event as it is essential for implementing the required validations and response handling mechanisms. If you require assistance in enabling this extension, please feel free to reach out to the Antavo Service Desk for support.

Loyalty program signup during webshop registration

When new customers register on your webshop, they have the convenience of quickly becoming loyalty members with just a single click by checking a box.

They need to do the following:

  • Mark the checkbox Enroll in loyalty program when creating an account

  • Provide the date of birth (optional)

To make the checkbox visible to your customers when loading the page, you must modify the page editor of your webshop. Please follow these steps:

  • Go to the Shopify design editor and open the code editor

  • Select the customers/register.liquid page for editing

  • Add the necessary checkbox as HTML and save (the preferable place is right after the password field).

<div id="loyalty-enroll" class="input-row">    <label for="CustomerFormLoyalty" class="label">         <input              type="checkbox"              class="styled-checkbox"              id="CustomerFormLoyalty"              name="customer[tags][loyalty_member]"              value="loyalty_member"         >             Sign me up to the loyalty program.     </label> </div>

Now if registration is made and the checkbox is ticked, the new registration results in a customer opt_in.

If the customer chooses to join the loyalty program at a later time, their registration (via other methods such as a link in a newsletter or a campaign invitation on your store's page) will also trigger the sending of an opt_in event.

You can verify your new customer’s membership in the loyalty program through Antavo by following these steps:

  • Navigate to the Customer insights tab in Antavo’s left-hand-side menu bar

  • The page opens up to the list of loyalty customers and the newly registered account should be listed here.

  • Go to the selected customer’s profile and click the Events tab. The optin was successful if the opt_in event is present in the log. The following row appears on the customer’s event list:

Managing profile changes

In Antavo’s system, the Customer profile information has a ‘Tags’ field which makes it possible to update tags based on the tags that are added to their Shopify profile. These tags can be used for creating segments automatically.

Antavo receives updated information whenever a profile attribute gets updated in Shopify. Such information includes customer profile tags. These tags are then synchronized with Antavo, enabling the creation of targeted reward campaigns and segmentation for customers.

Follow these steps to verify the customer tags in Antavo:

  • Open the Customer’s profile in Customer insights and click on the Personal information tab.

  • Navigate to the "Additional fields" section and compare the tags with those in Shopify. The synchronization is demonstrated in the screenshots below.

 

© Copyright 2022 Antavo Ltd.