Installation instructions
1
Create a custom Shopify app
- Go to the Shopify Developer Portal
- From the Dev Dashboard, be sure you’re on Apps in the left-panel navigation and select Create app in the top, right corner of the screen.

- Select Start from Dev Dashboard.

- Name your app, e.g.
Converge Server-side Integration, then select Create. You don’t need to configure anything else on this page for now.
2
Configure your app access
- In the left-panel navigation, click on Home. In the Distribution section, click on Select distribution method. This will open a new modal in the Partners Dashboard.

- Select Custom distribution and confirm your selection in the popup.


- In the left-panel navigation, now navigate to API access requests and click on Request access under the Read all orders scope section. You can copy the explanation below and click on submit, it will get approved automatically.


- Go back to your previous tab in the Dev Dashboard. Click on Versions in the left-panel navigation and Create a version.

- Under App URL, enter
https://app.runconverge.com.

- Untick the “Embed app in Shopify admin” checkbox.
- In the textbox, under Access > Scopes, paste the following text:

- In the bottom right corner, click Release and then click Release again to confirm. You don’t need to provide a version name.


- In the left-panel navigation, click on Settings for the app you just created. Note down the Client ID and Secret, you will need to enter them in Converge later.

3
Install the app in your Shopify store
- In the left-panel navigation, click on Home and navigate to the “Manage custom install link” in the “Distribution” section.

- Enter the Store domain of the Shopify store you want to use Converge for and click Generate link.


- Copy the link and paste it in a new tab. Complete the installation flow.


4
Create the Shopify source in Converge
- In Converge, go to Event sources and click on Create a new source.
- Name your source: e.g.
{Storename} Store Backend - Pick Server-side from the modal and choose the Shopify app from the dropdown menu.
- Enter the Store domain of the Shopify store you want to use Converge for, this is the string before
myshopify.comin the Shopify URL. - Paste the Client ID and Secret from the Dev Dashboard in the respective fields.
- Click on Create Source.
You should see the Source syncing all historical order data, no need to wait before it’s fully synced to create destinations — we will automatically check which orders are historic and new and forward only the new ones in case a destination is active while historically syncing
If you have multiple Shopify stores active in different countries, please check our guide on Shopify Internationalization here.
Post-Purchase Upsells
Many Shopify stores use post-purchase upsells such as Zipify. After placing an order, the customer will be prompted to add a new item to the order. If the customer accepts the upsell, the original order will be modified by the upsell app. For this reason, the only way to track these post-purchase upsells reliably is server-side (as the order is modified server-side). The Shopify Server Integration supports upsell tracking by introducing an optional delay in the integration settings. If you turn on this delay, Converge will wait 10 minutes for the upsell to come in before forwarding it to destinations. You can turn this option on in the configuration of the integration:
This will only work with Destinations that support server-side events. Client-side destinations will not track the upsell.
Filtering out certain orders at ingestion
You might want to make sure certain order types never make it into Converge (e.g. test orders). The Converge Shopify source allows you to configure order exclusions based on their channel or applied tag. E.g. You can filter out allpos orders or filter out all orders with an Exclude tag.
To configure, navigate to Sources and click on your Shopify source.
Then, under configuration mark the exact criteria by which you want to exclude orders from arriving in Converge.

Event spec
This integration auto-tracks the following events on the server with all properties available according to the Converge event spec.| Event Name | Event Description |
|---|---|
| Placed Order | When a customer places an order. |
| Event Name | Event Description |
|---|---|
| Received Refund | When a customer refunds an order. |
Sales channels
Events received by Converge from Shopify are automatically mapped to Converge’s sales channels types whenever possible. Shopify’s various sales channels, such as the web, shop app, and marketplace integrations, are translated into Converge’s standardized sales channels types based on the context and source of each event. For example, events originating from Shopify checkout are mapped to the web sales channel, while those from POS systems or third-party marketplaces (like Amazon) are categorized as pos and marketplace, respectively. More on sales channels can be found here. Due to the extensive nature of Shopify’s sales channels and tight integration with third-party apps, it may be difficult to get an accurate sales channels mapping. As such, Converge falls back to “web” if a mapping cannot be found.
| Shopify | Converge | Description |
|---|---|---|
| web | web | Shopify checkout |
| subscription_contract | subscription_contract | Recurring placed order events, and third party subscription apps |
| shopify_draft_order | offline | Manual orders |
| pos | pos | Point of sales orders |
| 12875497473 | web | Shopify headless |
| Edit Order | offline | Orders that are manually edited |
| 3890849 | marketplace | Shopify Shop App |
| 2329312 | facebook_shop | Meta/Facebook Checkout |
| 4383523 | tiktok_shop | Tiktok Checkout integration |
| 3009811 | pinterest_shop | Pinterest Checkout |
| amazon | marketplace | Amazon integration |