DocsStore platforms

Noli on Shopify.

The Shopify app is the deepest integration Noli has. Installing it wires up order tracking, the storefront widget, in-cart redemption and the customer account - without touching theme code.

Install the app

  1. Install Noli from the Shopify App Store

    Search for Noli Loyalty, or start from app.heynoli.ai and connect your store from the onboarding wizard. Shopify will show you the permissions Noli requests.

  2. Approve the scopes

    Noli reads products, customers and orders so the AI agent can answer accurately and points can be awarded on real purchases, and writes discounts so rewards can be redeemed. Nothing is written to your catalogue.

  3. Finish onboarding

    Set your earn rate, your first reward and your brand colours. Your catalogue starts importing in the background - large stores keep working while it finishes.

Starting from the Noli side sends you to the App Store listing and back again once it is installed.
💡

Migrating from Smile.io, Yotpo, LoyaltyLion or Rivo? Import your existing customers and point balances during onboarding rather than starting everyone at zero - members notice a reset immediately.

Screenshot pending/docs/shopify/install-permissions.webpShopify's permission screen listing the scopes Noli requests
Shopify shows exactly what Noli will read and write before you approve.

Place the storefront blocks

Noli ships as a theme app extension, so the blocks are added from the theme editor and survive theme updates. Open Online Store → Themes → Customize, then add the blocks you want:

BlockWhere it goesWhat it does
Chat bubbleApp embed, any pageThe AI agent. Knows the visitor's tier, balance and order history.
Loyalty widgetProduct or cart pagePoints earned on this purchase, and the reward within reach.
Join / sign-upAnywhere in the themeExplicit opt-in to the program. Required before any points are earned.
Screenshot pending/docs/shopify/theme-editor.webpShopify theme editor with the Noli app embed enabled and the block picker open
The blocks live under App embeds and App blocks — no theme code to edit.
⚠️

Enrolment is opt-in by design. A customer who has not joined will show up in Noli without points until they do. That is deliberate - bundled or automatic enrolment is not consent, and it is what gets loyalty programs into trouble under GDPR.

Redemption at checkout

Which option you get depends on your Shopify plan:

  • In-cart redemption - available on all Shopify plans. The customer applies points in the cart drawer with one click; no codes to copy.
  • Checkout extensibility - Shopify Plus only. Points are applied natively at the payment step, where conversion is highest. Add the Noli block from Settings → Checkout → Customize.
  • Thank-you page block - shows points just earned and invites non-members to join, at the moment they are most receptive.

There is also a customer account extension, so members see their points and rewards natively inside the Shopify customer account and in Shop.

How points are awarded

Noli listens for the orders/paid and orders/fulfilled webhooks. When one fires, it matches the order to a member by email or phone and credits the points.

⚠️

The match happens at order time, not later. If the email or phone on the order does not match a member record when the webhook fires, the order earns zero points - and joining afterwards does not backfill it. This is the single most common reason a merchant sees "0 points" on an order that clearly should have earned some.

A customer who opted in but has not ordered yet appears with no name and no points until their first order webhook arrives. That is expected, not a bug.

Troubleshooting

SymptomUsual cause
No chat bubble on the storefrontThe app embed is off in the theme editor, or you are previewing a different theme than the published one.
Orders arrive, points do notOrder identity did not match a member at the time the webhook fired - see above.
Customers show as "Unknown" with 0 pointsThey opted in but have not placed an order yet.
Reward code rejected at checkoutThe reward's own rules - minimum tier, minimum spend, expiry - are enforced server-side and will refuse a redemption that breaks them.

Still stuck? The Merchant Copilot can run a health check on your program and tell you exactly where the pipeline breaks - see Merchant Copilot, or email support@heynoli.ai.