Set Up Customer Referrals on Other Platforms

Updated 28 Sept 2026Referrals

This guide is for stores on Wix, Squarespace, Ecwid, PrestaShop, OpenCart, Shift4Shop and custom platforms.

A referral programme rewards two people: the friend who clicks your customer’s link, and the customer who shared it.

Two things work differently on these platforms:

  1. Your store has to send us your orders. That is how we know a referral turned into a sale.
  2. You supply the discount codes. We cannot create coupons in your store, so either you upload a batch, or we ask your store for one each time.

Step 1 — Connect your store

Nothing in the referral programme works until orders reach WiserReview.

Go to Integration in the sidebar and connect your store. Once connected, your orders come to us automatically and you can skip to Step 2.

If your platform is not listed

Two options, both under Integration:

  • Zapier — connect your store to WiserReview through a Zap, with no code
  • Custom webhook — your store, or whatever sits in front of it, sends us each order as JSON

For the custom webhook, the Integration screen gives you your own URL, which already contains the identifiers for your store. Copy it from there rather than building it by hand, and keep it private — anyone with that URL can send us data for your store.

What to send

Send one request per completed order, as JSON. Plain text, HTML and XML are rejected.

Data Needed? Why
Customer email Required Nothing is processed without it
The discount code used Required for referrals This is how we match the order to a referral
Order id Recommended Identifies the order in your report
Order total Recommended Without it, referral revenue shows as 0
Customer name Optional Used in emails

On the custom webhook you map your own field names to ours on the Integration screen. Email is the only field that must be mapped.

How we find the referral code

You do not need a specially named field for it. We look through the whole order for any text that matches a code we gave out.

  • Case does not matter
  • The code can sit anywhere in the order, including inside nested objects
  • It must appear as a text value, not as a field name

Things worth knowing

  • Each code is credited once. Sending the same order twice does not reward the customer twice.
  • We do not read the order status. Only send orders you consider complete, because the reward is issued as soon as the order reaches us.
  • We do not read currency or line items. Amounts are shown in the currency set in WiserReview.

Step 2 — Turn the programme on

  1. Go to Referrals in the sidebar
  2. Press Turn on next to Referral widget

Referrals are a paid add-on. You are asked to buy it if it is not already active, and rewards are not issued until it is.

Step 3 — Add the widgets

On-site referral widget — a tab on your storefront customers can open at any time. Press Add widget on the On site card, name it, then set colours and wording in the editor.

Post-purchase referral widget — shown after checkout, when customers are most likely to share.

Friend reward page

Friend reward page

The page the friend lands on when they click the link. It always exists — press Configure to change how it looks.

Step 4 — Set the rewards

Friend reward — what the new customer gets. This is the offer shown in the shared link, so make it worth clicking.

Customer reward — what the person who shared gets once their friend buys, or No incentive for a one-sided programme.

These values decide what your codes need to be worth, so set them before you generate any.

Step 5 — Set the rules

Requirement — a minimum order value.

Validity — whether codes never expire or expire after a set number of days.

Fraud protection

  • Prevent advocate self-rewards — stops a customer rewarding themselves by using their own link. Leave this on.
  • 30-second redeem delay — blocks instant fake orders.

A referral is also blocked when the friend’s order comes from the same computer that created the link. Blocked referrals appear in the report with the reason.

Press Save after any change.

Step 6 — Where your discount codes come from

On the Referrals page you will see a Discount codes section. Choose one of two ways for us to get a code when a reward is earned.

Upload a CSV Call my endpoint
Setup No code needed A developer builds a small endpoint
Upkeep Top up before codes run out None
Can it run dry? Yes — rewards stop No, while your endpoint is up

Option A — Upload a CSV

Two lists: Friend reward codes for the friend who uses the link, and Customer reward codes for the customer who shared it. Each card shows what the codes should be worth and how many are left.

  1. In your store admin, generate a batch of single-use discount codes at the value shown on the card
  2. Export them, or paste them into a spreadsheet, one code per row. Press Download sample CSV to see the format
  3. Press Upload codes (CSV) on the matching card and choose your file
  4. Repeat for the second list, unless your customer reward is No incentive

Rules for your codes

  • Single use only. A reusable code can be shared publicly and used by anyone
  • Match the value to the reward shown on the card
  • Do not put the same code in both lists. Duplicates are skipped on upload
  • Check the expiry in your store — an expired code will not work
  • Upload plenty. One code is used per reward, and they are never reused

Set Warn me when fewer codes remain than to a number that gives you time to react. Rewards stop being issued when a list runs out.

Option B — Call my endpoint

Instead of uploading codes in advance, your store creates one on demand. Each time a reward is earned we send a request to your URL and you reply with a discount code. Nothing to top up.

This needs a developer. Give them this section.

1. Add your URL

The address we should call. It must start with https://.

2. Generate the signing secret

Press Generate and copy the secret. We send it with every request so your endpoint can confirm the call came from us, and not from someone who guessed your URL. Treat it like a password.

Regenerate stops the old secret working immediately, so update your endpoint at the same time.

3. What we send

A POST with a JSON body:

{
  "type": "friend",          // or "customer"
  "value": 5,
  "valueType": "percentage", // or "fixed_amount"
  "currency": "USD",
  "email": "[email protected]",
  "referralId": "WR_8HD2KQ1"
}
  • type — who the code is for: the friend, or the customer who referred them
  • value and valueType — what the code should be worth
  • email — who will receive it, if you want to restrict the code to that person
  • referralId — our reference, useful in your own logs

4. What you reply

{ "code": "SAVE5-8HD2KQ1" }
  • Create the coupon in your store, then return its code
  • Make it single use
  • Make it worth the value we asked for
  • Reply within a few seconds. A slow reply is treated as a failure

5. Test it

Press Test connection to check we can reach your endpoint and that the reply is in the right shape, before any real customer depends on it.

6. Set a fallback

Leave If my endpoint fails, use my uploaded codes instead ticked, and upload a small batch as well. If your endpoint is unreachable, times out or replies with something unexpected, the reward still goes out.

Without a fallback, a reward earned while your endpoint is down is not issued at all.

Step 7 — The social media image

The picture, title and description people see when the link is shared. Press the pencil icon to change them. {{DISCOUNT_VALUE}} and {{BARAND}} are filled in automatically.

The emails we send

Three emails, all automatic.

Sent: immediately, when a customer enters their email in the referral widget.

Contains: their personal referral link, what their friend gets, and what they get. Your logo and colours come from your branding settings.

Edit it with Edit referral link email on the Referrals page.

2. The reward email — to your customer

Sent: when their friend’s order reaches us and the referral is approved.

Contains: their reward and the discount code to use.

Edit it with Edit customer reward email.

It is not sent if:

  • your customer reward is set to No incentive
  • the referral was blocked as a self-referral
  • no code could be obtained — your list was empty, or your endpoint failed with no fallback

3. The low codes warning — to you

Sent: once, when either uploaded list drops below the number you set.

Sent to: your admin email, or your reply-to address.

Uploading more codes resets it, so you will be warned again next time.

There is no reminder email to customers who received a link but never shared it.

Step 8 — Read the report

  • Referral orders — orders placed using a referral link
  • Revenue from referrals — what those orders were worth
  • Rewards paid out — what the discounts cost you
  • Conversion rate — orders divided by clicks

The funnel shows where people drop off. Many shares but few clicks means the share image needs work. Many clicks but few orders usually means the friend’s reward is too small.

What each status means

Status What it means
Shared A link was created but nobody has clicked yet
Clicked A friend opened the link but has not ordered
Pending The friend ordered; the reward is being processed
Completed The order counted and the reward was issued
Blocked Stopped by a fraud rule, with the reason shown
Expired The code passed its expiry without being used

Export CSV downloads the list.

Troubleshooting

Nothing is being tracked at all

  • Check your store is connected under Integration and orders are arriving
  • Check the referral add-on is active

The friend’s discount did not work

  • CSV: check your friend reward code list has codes left
  • Endpoint: check it is reachable and returning a code
  • Check the code has not expired in your store admin
  • Every code is single use — confirm it had not been used already

The customer never received their reward

  • Check a code could be obtained — a list with codes left, or a working endpoint
  • Check the order reached us, and that the discount code appears in it
  • Check the report — it may be marked blocked or pending

My endpoint is being called but nothing happens

  • Reply with JSON in the shape above — a bare string is not accepted
  • Reply quickly; a slow reply counts as a failure
  • Use Test connection to see the response we get

Referral revenue shows as 0

  • Your orders are arriving without an order total. Include it in what you send

A referral shows as blocked

  • The customer used their own link, or the order came from the same computer that created it

Things worth knowing

  • Every referral code is single use and is never given out twice
  • With uploaded codes, rewards stop when a list runs out
  • The programme stops issuing rewards if the add-on is cancelled
  • Changing a reward value does not change codes you already uploaded — upload a new batch at the new value
  • Keep your webhook URL and signing secret private