Shopify
Deducto's Shopify integration runs through the Deducto embedded app inside Shopify Admin. The embedded app handles store linking, plan selection, Shopify billing approval, and ongoing plan changes. Shopify is the billing authority for the project subscription, including any usage-based charges.
Use this guide when you want to install Deducto on a Shopify store, manage an existing Shopify-linked Deducto project, or enable Deducto in your storefront.
If your store is already linked, you can jump straight to Managing plans, Enabling Deducto in your storefront, or Recovery actions.
Plans and pricing
The plan options shown in the embedded app:
Free:$0/month,1,000included API requests,1user,3active promotionsLite:$99/month,20,000included API requests,5users,10active promotions per projectPro:$299/month,100,000included API requests,20users,30active promotions per project
Each Shopify store has its own Shopify-billed subscription. A Deducto account can hold more than one Shopify store; each store carries its own plan and entitlements.
Usage billing
Each plan includes a monthly API request allowance. These API requests are used to evaluate promotions applicable for a user's given cart state. Once usage exceeds the included allowance for the billing period, additional requests are billed against the usage cap you approved or set in Shopify Admin.
You can view your API usage for the billing period in the Deducto Dashboard. Shopify itself may also notify you and prompt you to approve a higher cap.
Subscription and usage charges appear on your Shopify billing statements at Settings -> Billing inside Shopify Admin. See Billing Overview for the wider billing picture.
First-time onboarding
The embedded app walks you through the full first-time setup.
1. Install and open the Deducto app
- From the Shopify App Store, install the Deducto app to your store.
- Open the Deducto app from Shopify Admin. The embedded app loads inside Shopify Admin and shows the new onboarding flow.
2. Choose your Deducto region
Select the region where your Deducto account and data should live:
Asia PacificEUUS EastUS West
The region cannot be changed later, so pick the one closest to your store and shoppers.
3. Choose new or existing Deducto account
I'm new to Deductocreates a new Deducto account during onboarding.I have a Deducto accountlets you supply an existing Deducto account ID so the Shopify store is added to that account instead.
If you choose the existing path, enter the Deducto account ID. You can find it in the Deducto Dashboard for the account you want to link to.
4. Choose a Shopify plan
Select a plan card. See Plans and pricing above for current values.
5. Confirm plan
Click Confirm Plan.
- For a
Freeplan, no Shopify billing approval is required. The embedded app transitions directly to theStart Integrationstep. - For
LiteorPro, Shopify opens its native subscription approval screen. Approve the recurring charge and the usage cap. Shopify then returns you to the embedded app.
6. Start integration
Back in the embedded app after Shopify approval, click Start Integration. Deducto confirms that the Shopify subscription is active and begins setting up the integration in the background.
This typically takes one to two minutes. The embedded app shows a progress indicator and waits for setup to finish. Stay on the page during this step.
7. Finalise in Deducto
When setup completes, the embedded app shows a Finalise in Deducto button along with a one-time linking code.
Click Finalise in Deducto to open the Deducto Dashboard. The linking code is included in the link, so you usually do not need to copy it manually. Sign up (or sign in) using your preferred provider, then complete the linking step. Deducto attaches the Shopify-created Deducto account to your user account.
The linking code is valid for 30 days. If it expires before you use it, contact support to issue a new one.
8. Ready
When you return to the embedded app, the launcher card should now update and show:
- a
Store linked to Deductobadge - the Deducto project ID
- current plan details
- buttons to
Open Deducto Project,Manage Plan, andReset Shopify Link
You can now proceed to Enabling Deducto in your storefront to enable Deducto in your online store theme.
Enabling Deducto in your storefront
After onboarding completes, enable Deducto in your Shopify theme so the storefront can submit coupon codes and react to promotion evaluations.
Theme app block and embed
- In Shopify Admin, go to
Online StoreunderSales Channels, then selectThemes. - Click
Customizeon your active theme to open the Theme Editor. - Use the dropdown in the top menu bar to select the
Cartpage. In the left-handSectionspanel underTemplate -> Items, click the+icon and chooseDeducto Coupon Code FormunderApps. - (Optional) Select the
Deducto Coupon Code Formblock and adjust fields in the right-hand panel to edit display messages or styles. - Click the
App embedsicon near the top left corner of the editor and enableDeducto Cart Observerfrom the list. - Click
Savein the top right corner to apply the changes to your theme.
Stores using a cart drawer
If your store uses a cart drawer instead of a dedicated cart page, you may need to add the Deducto coupon form container to the cart drawer template manually.
Warning
The following steps require developer experience. Make sure you understand the instructions fully before making changes, or consult a developer. Always test changes in a development store first.
- In Shopify Admin, go to
Online StoreunderSales Channels, then selectThemes. - Click the three dots next to the
Customizebutton and selectEdit Codeto access the theme code editor. - Find your cart drawer snippet, typically found in
/snippets/cart-drawer.liquid. - Find the
</cart-drawer-items>closing tag and paste the activation code snippet below immediately after it. - (Optional) Adjust the values in the activation code snippet to customise the message text or styling as needed.
<div
id="deducto-cart-drawer-coupon-code-form-container"
data-form-class="replace-with-your-class--form"
data-form-css="display: flex; flex-direction: column; gap: 10px; width: 100%;"
data-form-label="Enter Coupon Code:"
data-form-label-class="replace-with-your-class--label"
data-form-label-css="display: block; margin-bottom: 2px;"
data-input-group-class="replace-with-your-class--input-group"
data-input-group-css="display: flex; align-items: center; gap: 8px; width: 100%;"
data-form-placeholder-value="Separate multiple codes by comma"
data-form-input-class="replace-with-your-class--input"
data-form-input-css="flex-grow: 1; min-height: 36px; margin-right: 8px; border: 1px solid #000; padding: 8px; font-size: 1.5rem; border-radius: 2px; outline: none"
data-apply-button-label="Apply"
data-apply-button-class="replace-with-your-class--button"
data-apply-button-css="background-color: #000; color: #fff; padding: 8px 20px; min-height: 36px; min-width: 90px; font-size: 1.5rem; border: none; cursor: pointer; border-radius: 2px; text-align: center; display: inline-block"
data-tag-container-class="replace-with-your-class--tag-container"
data-tag-container-css="display: flex; justify-content: left; align-items: center; flex-wrap: wrap; gap: 4px"
data-tag-class="replace-with-your-class--tag"
data-tag-css="margin: 0px 4px 0px 0px; padding: 4px 8px; border: 1px solid #ddd; border-radius: 5px; display: inline-block"
data-message-unrecognised="Some of the coupon codes entered are not recognised."
data-error-container-class="replace-with-your-class--error-container"
data-error-container-css="width: 100%; margin-bottom: 4px;"
data-error-message-class="replace-with-your-class--error-message"
data-error-message-css="color: rgb(217, 28, 28);"
>
<div id="deducto-cart-drawer-coupon-code-form-loading-overlay" class="deducto-loading-overlay" aria-hidden="true"></div>
<form id="deducto-cart-drawer-coupon-code-form" style="min-height: 90px;"></form>
</div>Checkout UI Extensions (Plus stores only)
If your store is on a Shopify Plus plan, you can take these additional steps to add the Deducto Coupon Code Form component and other functionality to the checkout page:
- In Shopify Admin, go to
Settingsand selectCheckout. - Click
Customizeto open the checkout editor. - Click the
Appsicon in the left panel, then click the+icon next todeducto-checkout-ui-extension, and then selectCheckoutunderAdd to. - (Optional) Adjust the values in the Deducto Checkout UI Extension settings to customise the message text or styling as needed.
- Click
Savein the top right corner and exit the checkout editor.
Congratulations! You've successfully added Deducto to your Shopify store. Create a promotion in the Deducto Dashboard and test it out in your storefront.
Using Shopify metafields as custom product attributes
Deducto can use Shopify product metafields as custom attributes when building promotion logic. For background on custom attributes and how mappings work in Deducto, see Custom Attributes and Attribute Mapping.
Deducto uses the available filters from the Search & Discovery app to gather the list of product metafields when validating promotions. Any product metafield you want to use must be configured as a filter in that app – if a metafield is not exposed through Search & Discovery filters, Deducto cannot reliably use it for Shopify product attribute matching.
- Create or identify the Shopify product metafield you want to use.
- Add that metafield as a filter in Shopify's
Search & Discoveryapp. - Find the metafield's key in
Settings->Custom data->Productsin your Shopify Admin. Open a definition to see its key in a field below the name. Keys usually look likecustom.some_metafield. - Copy the full metafield key, including both the namespace and key.
- In Deducto Dashboard, in Project Settings, paste that full key into the mapping field for the corresponding custom attribute.
Managing plans
Once your store is in the ready state, the embedded app shows a Manage Plan action.
Upgrading
You want to move your store to a higher Deducto plan.
- In the embedded app, click
Manage Planand select the target plan. - Click
Confirm Plan Change. Shopify opens its subscription approval screen. - Approve the new charge in Shopify.
- When Shopify returns you to the embedded app, click
Finalise Plan Changeto apply the change in Deducto.
New plan entitlements (request allowance, users, active promotions) take effect after the upgrade is finalised.
Downgrading
You want to move your store to a lower Deducto plan.
- In the embedded app, click
Manage Planand select the target plan. - Click
Confirm Plan Change. - Approve any new charge in Shopify if prompted and click
Finalise Plan Change.
Downgrades are scheduled for the end of the current billing period rather than applied immediately. The current plan stays active until that date. A downgrade to the Free plan does not require a new subscription charge approval.
Cancelling a pending plan change
You want to cancel a plan change that is waiting on your approval, or clear a previous change that did not complete.
In the embedded app, click Cancel Approval Request (for an upgrade awaiting subscription approval) or Clear Pending Change (for a change that started but did not finish). Clearing the pending state lets you start a new change.
Recovery actions
Re-running onboarding for a store
You want to onboard the store from scratch – for example, the local Shopify-side state is wrong, or you need to re-link this store to a different Deducto account.
In the embedded app, click Reset Shopify Link. This clears the Deducto-namespaced metafields on this Shopify store, and the embedded app shows the new onboarding flow again.
Reset Shopify Link only affects the local Shopify-side link. It does not delete your Deducto account, project, or promotions. If you only need Deducto's records re-written to the store, use the repair action below instead.
See also
Updated 14 days ago