--- title: "Engage Integration" slug: "shopify-engage-integration" status: "update" updated: 2026-10-20T09:06:39Z published: 2026-10-20T09:06:39Z canonical: "docs.mapp.com/shopify-engage-integration" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.mapp.com/llms.txt > Use this file to discover all available pages before exploring further. # Engage Integration ## Prerequisites - Active Engage and Shopify accounts. - The Mapp Cloud app installed on your Shopify store. See [Installation](/v1/docs/shopify-installation). - Shopify Plus is required to turn off Shopify's transactional emails and replace them with Engage messages. --- ## Data Flow These webhooks handle the data flow between Shopify and Mapp Engage: - `CUSTOMERS_CREATE`, `CUSTOMERS_UPDATE`, `CUSTOMERS_DELETE` - `PRODUCTS_CREATE`, `PRODUCTS_UPDATE` - `ORDERS_CREATE`, `ORDERS_FULFILLED`, `ORDERS_CANCELLED`, `ORDERS_DELETE` - `REFUNDS_CREATE` - `ORDERS_EDITED` For products with up to 2000 variants, data is fetched in increments: the first 100 variants are processed first, then 250 at a time within Shopify's API limits. --- ## Procedure ### Create subscriber and customer groups Create the Engage groups that Shopify contacts and subscribers are added to. See [Create a New Group](/v1/docs/create-a-new-group). ### Create prepared messages (optional) Use Shopify to send order updates, confirmations, refunds, and cancellations. See [Prepared Messages](/v1/docs/prepared-messages). ### Create a Mapp Connect integration 1. Go to *Data Management > Mapp Connect*. 2. Click **Add New Integration**. 3. Select Type: **Shopify**, and enter a name and optional description. 4. Click **Create**. 5. Note your **Integration ID** and **Secret** — you add these in Shopify. 6. Set up [mapping](/v1/docs/mapping) with your groups and messages. ### Configure the app in Shopify After installing the Mapp Cloud app (see [Installation](/v1/docs/shopify-installation)): 1. Open the Mapp Cloud app. 2. Add your Cluster and domain. 3. Add the **Integration ID** and **Secret**, then select **Save**. Additional fields appear. ![](https://cdn.document360.io/554b9b98-6720-4d8b-9919-c7b203d72648/Images/Documentation/7c079658-f7e0-41cf-950c-4df51a62a35b.png) 4. Add your SFTP information. ![](https://cdn.document360.io/554b9b98-6720-4d8b-9919-c7b203d72648/Images/Documentation/1de0b2e7-f526-435a-82c9-c39ce6fa25be.png) 5. Under **Other Configurations**, choose whether contacts confirm their subscription and whether to use the abandoned cart function. ![](https://cdn.document360.io/554b9b98-6720-4d8b-9919-c7b203d72648/Images/Documentation/63276e9d-83c6-4c37-8e8f-031dccf574e4.png) 6. Under **Mapp Engage Group Configuration**, choose the groups for customers and subscribers. 7. Under **Message Configuration**, select prepared messages for each scenario (optional). 8. Select **Save**. > [!WARNING] > Warning > > To avoid duplicate emails, turn off the corresponding Shopify emails manually. This is only possible with Shopify Plus. > [!WARNING] > Warning > > If your store's primary domain changes, or you add or remove market regions, return to these Engage settings and click Save again. The domain is stored in the session; saving resets it to the current value, otherwise product URLs keep the old domain. ### Set up the initial import This one-time job connects Engage and Shopify. 1. Go to *Data Management > Mapp Connect* and edit your integration. 2. Select **Import Configuration** and add a new import job. 3. Enter a job name. 4. Set the job run at least one hour ahead, then click **Apply**. ![](https://cdn.document360.io/554b9b98-6720-4d8b-9919-c7b203d72648/Images/Documentation/d38b90ca-872e-4e93-9c40-c5a558cc3f51.png) 5. Set the job status to enabled. 6. Choose FTP and click **Test Connection**. A green check confirms the connection. ![](https://cdn.document360.io/554b9b98-6720-4d8b-9919-c7b203d72648/Images/Documentation/33b0c44e-23f7-4399-92da-af5fb6367f46.png) 7. Add the events you need: add users to the group (initial customer import), add transaction data, and add product data. ![](https://cdn.document360.io/554b9b98-6720-4d8b-9919-c7b203d72648/Images/Documentation/2cef0b50-4f95-4d05-88f5-5d20f2e7875d.png) 8. Add monitoring users to oversee the jobs. 9. Click **Save**. > [!NOTE] > Note > > Importing product categories via the Mapp Connect Shopify plugin is currently not supported. --- ## Unsubscribe Behavior A Shopify unsubscribe is included in every future user update. This works only for unsubscribes made in Shopify. Unsubscribes made in Engage (for example, via Engage unsubscribe links) are not sent back to Shopify, and later Shopify updates may re-add the contact to the subscriber group. --- ## Additional Information ### Data Sources Key customer, order, and product data is captured through webhooks: - **Customer:** `id`, `email`, `first_name`, `last_name`, `phone`, `currency`, and subscription status. - **Order:** `orderId`, `orderTotal`, `shippingAddress`, and other order details. - **Product:** `productName`, `productSKU`, `stockTotal`, and descriptions. In addition, the plugin sends these customer fields: | Field | Description | | --- | --- | | `smsMarketingState` | SMS marketing consent state of the customer, as defined by Shopify. | | `emailMarketingState` | Email marketing consent state of the customer, as defined by Shopify. | | `isSmsSubscriber` | Whether the customer is subscribed to SMS marketing. | | `totalSpent` | Total amount the customer has spent in your store. | | `totalSpentCurrency` | Currency of `totalSpent`. | Changes to the SMS opt-in status of a customer also trigger a customer update. > [!NOTE] > Note > > These fields are not part of the default mapping, and Engage does not create attributes for them automatically. To store them in Engage, go to *Data Management > Mapp Connect*, open your Shopify integration, and add the fields to the user mapping. If you want to map to custom attributes, create them in Engage first. See [Edit Mapping](/v1/docs/edit-mapping). ### Exports Shopify's Bulk API creates export jobs; webhook notifications deliver the data to an SFTP server. ### Abandoned Cart Job Temporary authorization errors (HTTP 401) do not remove the abandoned cart job. The plugin removes the job only after 24 hours of failures. To re-enable the job, open the Engage settings in the Mapp Cloud app and click **Save**. ### Limitations Abandoned carts track only carts that enter checkout for logged-in contacts.