Connect Shopify
Create an app in your store's Dev Dashboard, paste three values into Clickmax — and your orders start creating or updating contacts (tagged shopify), recording sales and firing automations. You don't register any webhook by hand: Clickmax registers them in your store for you.
Before you start
- Workspace role: Owner, Admin, Editor or Collaborator. The Finance, Guest and Agent roles have no access to Integrations.
- In Shopify you must be the store owner or have the App developer role in the store's organization.
- The store address must be the
.myshopify.comone (e.g.your-store.myshopify.com). Your storefront domain (yourstore.com) will not work — the Shopify API only answers on the.myshopify.comaddress. - The app must be created in your own store's organization. An app created elsewhere (for example in a separate partner account) is refused by Shopify with "shop_not_permitted", and Clickmax shows that error when you create the integration.
Don't look for "Settings → Develop apps". Shopify stopped allowing new apps to be created there, which is why there's no ready-made token to copy anymore. New apps live in the Dev Dashboard, and Clickmax mints its own access from the Client ID and Client secret.
Step by step
- In Clickmax, open Integrations and pick the Shopify card.
- In another tab, open the Dev Dashboard and sign in with your store's account.
- Click Create app and name it (e.g.
Clickmax). No UI or framework to pick: this is an API-only app. - On the Versions tab, set the
read_orders,read_customersandread_productsscopes and click Release to publish the version. - On the app home, click Install app and pick your store.
- Under Settings, copy the Client ID and the Client secret.
- In Clickmax, fill in Store domain (
your-store.myshopify.com), App Client ID and App Client secret. - Name the integration and click Create integration.
That's it. Clickmax validates the credentials, registers the webhooks in your store and starts receiving orders.
Need to change scopes later? Release a new version of the app with the new scopes and approve the update on the store. New versions aren't applied automatically to stores where the app is already installed.
What starts arriving
Every event with an email creates or updates a contact tagged shopify, logs an activity in the contact history and can fire automations. Some of them also record a sale.
Things that usually raise questions:
- An unpaid order comes in as Pending. That covers bank slips, cash on delivery and manual capture. When the payment is confirmed, the same sale becomes Approved — not a second sale. An order that is already paid (card) goes straight to Approved.
- A Pending sale does not count as revenue. Revenue metrics, average ticket and contact LTV only add up approved sales.
- Refunds and disputes never change the sale amount. A partial $10 refund on a $149.90 order marks the sale Refunded while keeping the $149.90 — the refunded amount shows up in the contact activity.
- One sale per order, never per product. An order with three products records one sale with the order total and three activities in the contact history, one per product.
- A paid order marks the contact as a customer.
- Orders without an email are ignored (POS sales or guest checkout without an email), because there is no way to identify the contact.
- Disputes only exist on Shopify Payments stores. If your store processes cards through a third-party gateway, that gateway receives the dispute and Shopify never notifies Clickmax. The trigger stays available but will not fire in that setup.
Filtering by product
In the triggers you can filter by product: Clickmax lists the products straight from your store using the app credentials. The customer created trigger has no product filter — there is no order in that event.
Related
- All integrations
- Create your first automation — react to your store orders
- Connect Yever and Connect Whop
If it didn't work
- I can't create the integration: check the Store domain (it must end in
.myshopify.com) and the Client ID / Client secret pair — it's easy to swap one for the other. See the error codes. - Error saying the app doesn't belong to the same organization as the store: the app was created in a different organization. Create it in the store's own Dev Dashboard and install it there.
- Creation failed mentioning webhooks: Clickmax registers the webhooks in your store at creation time. Without the
read_orders,read_customersandread_productsscopes, the registration is refused. Go back to the app, release a version with the right scopes, approve it on the store and create the integration again. - Nothing arrives: make sure the App Client secret field holds the Client secret (not the Client ID). Shopify signs every webhook with it; with the wrong value, Clickmax rejects every delivery.
- It stopped after I changed credentials: changing the Client ID, the Client secret or the domain re-registers the webhooks. If you uninstalled the app in Shopify, the webhooks went with it — reinstall it and edit the integration with the current credentials.
- One specific order didn't arrive: orders without a buyer email are discarded. Check the order in Shopify.