What the Yotpo Shopify app actually connects
The yotpo shopify app is really three separate modules sharing one install: Reviews, Loyalty & Referrals, and SMS/email. Most stores in the $3M–$30M range only need one or two of them, and installing all three at once is where setup time balloons. If you’re running Shopify Plus or a paid subscription platform like Recharge or Skio, the module that matters for retention is Loyalty & Referrals, because it’s the one that touches every renewal order your subscribers generate.
This is a setup guide for teams that already sell on Shopify and are past the point of testing an app on a small catalogue. If your store is doing under $3M in annual revenue, or you’re still on Shopify’s base plan without a subscription platform behind it, a lot of the sync and tier logic below won’t apply to you yet — install the free reviews tier and stop there until volume justifies the rest.
Prerequisites before you install
Before opening the Shopify App Store listing, confirm three things. First, know which subscription platform sits behind your store — Recharge, Skio, Loop, or Shopify’s native subscriptions — because each writes renewal orders with a different tag or line-item property, and you’ll need that exact string later. Second, have a test customer account with at least one active subscription, so you can place a real renewal order during setup rather than guessing at behaviour. Third, decide who owns the loyalty programme’s earning rules going forward. This is a settings page that drifts if nobody’s named as the owner, and that drift is what causes the point-inflation problem this guide walks through.
Step 1: Install and connect the store
Install the app from the Shopify App Store and authorise the standard Shopify OAuth scopes it requests — order read, customer read/write, and product read at minimum. Yotpo’s onboarding wizard will ask which modules to activate. Activate Reviews and Loyalty & Referrals together if you’re using both; activating them separately later re-triggers a full historical data sync, which can take several hours depending on catalogue size.
Step 2: Map order and customer data
Yotpo pulls order history automatically once connected, but the mapping step decides what counts toward loyalty tiers and review request eligibility. Under Settings > Integrations > Shopify, check the “sync historical orders” toggle — if left on, every past order becomes eligible for retroactive points unless you cap the lookback window. Set a lookback window that matches your programme’s actual launch intent; an unbounded lookback is the single most common reason a new loyalty programme launches with a wildly uneven starting balance across customers.
Step 3: Build the earning rules
This is where the yotpo app shopify configuration usually goes wrong. Navigate to Loyalty & Referrals > Ways to Earn, and you’ll find a default rule: “Place an order” earns points per dollar spent, applied to every completed Shopify order with no exclusions. That default rule does not distinguish a first-time purchase from a subscription renewal charge, because to Shopify’s order API they look identical: both are completed orders with a line item and a total, which is exactly what causes the point-inflation problem.
Add a condition to that rule that excludes orders carrying your subscription platform’s tag. In Recharge, that’s typically an order tag like subscription or recharge-checkout, visible on the order detail page in Shopify admin. In Skio, check the order note attributes rather than tags, since Skio writes some subscription metadata differently. Whichever platform you run, open one real renewal order in Shopify admin, note the exact tag or attribute string character-for-character, and paste it into Yotpo’s rule condition — don’t retype it from memory, because a mismatched tag string silently fails the exclusion and the rule keeps earning points on every renewal.
Step 4: Configure tiers and referral payouts
If you’re running a tiered programme, set tier thresholds based on lifetime spend excluding subscription renewals, or you’ll see customers jump tiers faster than the programme economics were modelled for. As an illustrative example, a customer on a mid-range monthly subscription could clear most entry-tier thresholds within two or three renewal cycles if renewals count at full earn rate, which is rarely the intent behind the tier design. The same logic applies to referral payouts: a referred customer who converts to a subscription and then racks up “referral bonus” credit on every renewal, rather than once on the initial conversion, turns a customer acquisition cost line into an open-ended liability.
Step 5: Connect loyalty data to email and SMS
Point balances and tier status need to reach your email platform to be useful — a loyalty programme that only lives inside the Yotpo widget doesn’t drive behaviour. Yotpo’s native integration pushes these as customer properties to platforms like Klaviyo, but check the sync direction in your integration settings; some properties update on a schedule rather than instantly, which matters if you’re triggering a “you’re one order from your next tier” flow off a live point balance.
The step most teams get wrong
The earn-eligibility exclusion in Step 3 is the one that gets skipped, because the default rule looks correct on the surface — it says “earn points per dollar spent,” which sounds like exactly what a loyalty programme should do. The problem only shows up weeks later, when a support ticket or a finance review flags that point liability is growing faster than new-customer point earning can explain. By then, every renewal since launch has been over-earning, and the fix — adding the exclusion — only stops new inflation; it doesn’t claw back points already issued to existing subscribers.
The second most common miss is treating a failed-payment retry as a fresh order. Most subscription platforms retry a failed charge two or three times before marking a subscription as churned, and each retry attempt that eventually succeeds still generates a completed Shopify order. If your earning rule isn’t scoped correctly, a subscriber who had one payment fail and retried twice before succeeding can earn points three times for what should register as a single renewal.
How to verify the setup
Place a test subscription renewal order — either wait for a real billing cycle on a test account or use your subscription platform’s manual charge trigger if it has one. Check the order in Shopify admin for its tag or attribute, confirm that exact string matches what’s in your Yotpo earning rule, then check the test customer’s point balance in Yotpo before and after the charge. If the balance didn’t move, the exclusion worked. Repeat this check any time you change subscription platforms, rename a tag, or migrate checkout flows, because a routine platform update is exactly the kind of change that silently breaks a string-matched exclusion rule.
It’s also worth pulling a churn cohort report before finalising your earning rules, because subscription churn benchmarks — Recurly’s Consumer Goods Churn Benchmark report is one example — break churn down by tenure cohort rather than a single average, and that shape matters more than any single figure when you’re deciding how aggressively to reward long-tenure subscribers versus new ones. Recharge’s own DTC merchant panel data points in the same direction: retention economics for subscription brands vary enough by cohort and category that a loyalty programme built on assumptions borrowed from a one-time-purchase store tends to misprice its rewards.
What this looks like at volume
At low order volume, a misconfigured earning rule is a minor accounting nuisance. At $3M–$30M in revenue with a subscriber base in the thousands, the same misconfiguration compounds every billing cycle, and unwinding it means either honouring inflated balances you didn’t budget for or clawing back points from customers who did nothing wrong from their side. Neither option is good, which is why the exclusion belongs in the initial setup, not a post-launch fix.
The same compounding applies to Yotpo’s polling-based syncs during high-volume periods. If your store runs a flash sale or a subscription price-increase notice that triggers a wave of renewals or cancellations in a short window, expect loyalty recalculations to lag behind the order data itself. Build in a buffer before trusting point balances shown immediately after a volume spike.
None of this is a reason to avoid Yotpo specifically — most loyalty apps on Shopify share the same blind spot, because none of them were built with subscription renewal orders as a first-class concept. It’s a reason to treat the earning rule configuration as a retention decision, not a checkbox in an app install wizard.
Getting the Yotpo Shopify app configured correctly is a subscription retention problem before it’s an app-settings problem: a loyalty programme that over-rewards renewals erodes the margin retention was supposed to protect, and one that silently under-rewards genuine long-tenure customers gives them no reason to stay past their first price increase. If you’re weighing where loyalty configuration fits against the rest of your retention stack, that’s the scope our subscription retention service covers, and it’s worth running your current churn numbers through the subscription churn calculator before you decide how aggressively to tier rewards. For a sense of where your churn rate sits against other consumables brands, the subscription churn benchmark for DTC consumables is a reasonable starting comparison.
Sources
- Recurly, Consumer Goods Churn Benchmark report — cohort-based churn patterns for consumer goods subscription merchants, vendor-reported.
- Recharge, DTC subscription merchant panel — retention and renewal behaviour data from Recharge’s merchant base, vendor-reported.