Skip to main content

[Shopify] Widgets for your referral program

A quick guide to which ReferralCandy widgets and widget-related surfaces exist on Shopify, where each one is enabled, and whether it is edited in Widgets, Shopify editors, or ReferralCandy Themes / Visual Editor.

Written by Adam

This article discusses features and capabilities available only for Shopify merchants. If you're using another platform, visit this article.

ReferralCandy provides several widgets and storefront blocks for your Shopify referral campaigns. This article maps which surfaces exist on the Widgets page, where each one fits in the merchant–advocate–friend flow, and where each is enabled and edited.

πŸ’‘ See the widgets in action

Want to preview these widgets on a real Shopify store before setting up your own? You can see all of them (legacy widgets excluded) on our test store, acmesupplements.co/pages/refer-a-friend:

  • Join block β€” embedded on that page (the "Share a gift" signup form)

  • Referral extension β€” appears on the Shopify Thank You page; requires a test purchase to see

  • Friend offer landing (Page or Storefront Popup) β€” appears when you click a referral link from an enrolled advocate

  • Customer referral details extension β€” appears inside the customer account area; requires logging in as an enrolled customer


Before you start: where changes are made

For Shopify merchants, ReferralCandy surfaces are edited in different places depending on what you're trying to change.

In general:

  • ReferralCandy Widgets page = edit widget text, copy, labels, templates, toggles, and widget-level campaign settings

  • Shopify editors = add the widget or extension to your store and control placement, layout, alignment, and display settings

  • ReferralCandy Themes / Visual Editor = edit the design of campaign pages, such as the Friend Offer Page and Storefront Popup

Important distinction:

  • Most newer Shopify widgets are not edited in the Theme editor β€” they're enabled in Shopify editors and have their text edited on the Widgets page

  • Older script-based widgets (the floating Referral widget and Shopify post-purchase script widget) are legacy setups and don't appear in the modern Widgets page UI

If you edit in the wrong place, it can look like "my changes didn't apply" β€” they did, just in a different surface.

Rule of thumb:

  • If you want to change the words inside a modern Shopify widget, start in the Widgets page

  • If you want to place the widget on a Shopify surface or change layout/display settings, use the relevant Shopify editor

  • If you want to change a campaign page design (Friend Offer Page or Storefront Popup), use Themes / Visual Editor


The Shopify locations you'll see referenced

  1. ReferralCandy Widgets page

    • Shopify admin > Apps > ReferralCandy > Referral campaigns > select a campaign > Promote campaign > Widgets

    • Used for widget text, copy, labels, templates, toggles, and widget-level campaign settings

  2. ReferralCandy Themes / Visual Editor

    • Shopify admin > Apps > ReferralCandy > Referral campaigns > select a campaign > Customize campaign > Themes > Customize

    • Used for the design of campaign pages β€” the Friend Offer Page and Storefront Popup, plus other Theme-based items

  3. Shopify Theme editor

    • Shopify admin > Online Store > Themes > Customize

    • Used for storefront app blocks and app embeds β€” for example, the Join block and the Friend Offer Popup app embed

  4. Shopify Checkout editor

    • Shopify admin > Settings > Checkout > Customize

    • Used for checkout extensions such as the Referral extension

  5. Shopify Customer Accounts editor

    • Used for customer-account app blocks such as the Customer referral details extension

Note: Shopify's navigation labels can vary slightly, but the editing pattern stays the same.


Widgets available on Shopify

Listed in the order they appear on the Widgets page.

Referral extension (Checkout block)

Referral extension on the Shopify Thank you page

Where it shows up in the flow

A customer completes a checkout β†’ lands on the Shopify post-checkout "Thank you" page (and related order-status pages, depending on your setup) β†’ sees the Referral extension prompting them to share with friends. They tap it to grab their referral link and share.

The Referral extension is the share moment itself β€” customers see their sharing options inline, right there on the Thank You page. It's not a path to the Rewards page (advocates access that via the Your Rewards tab on their Share Page β€” see What advocates see after signing up). Visibility on the Thank You page also depends on the customer's enrollment state (enrolled / unenrolled / never enrolled) and whether you've enabled signup/waitlist for unqualified customers β€” see Referral extension for Shopify for the full behavior matrix.

Why use it

The Thank You page is the highest-intent moment in the customer journey for a referral ask β€” the customer just bought, so they're at peak enthusiasm. The block is a Shopify-native checkout extension, so the placement and design stay consistent with the rest of your checkout flow.

Where to enable / add it

Shopify Checkout editor β€” add the ReferralCandy block.

Where to customize it

  • Checkout editor: placement and layout of the block

  • ReferralCandy Widgets page: the copy and visuals inside the block β€” Header and Body text (with optional Liquid placeholders like {{incentive_description}} and {{offer_description}}), banner image upload, language selector, and toggles for showing the campaign's content and allowing signup/waitlist for unqualified customers

Common confusion

If you're trying to change the Thank you page block text, don't look in campaign Themes β€” edit the widget text on the Widgets page, then confirm the block is placed correctly in the Checkout editor.

For full setup details including banner image sizing and Liquid placeholder behavior, see Referral extension for Shopify.


Friend offer landing

Where it shows up in the flow

An advocate shares their referral link β†’ a friend clicks it. If your campaign's friend offer is a discount code, the friend needs to land somewhere that shows them the code before they shop. The Friend offer landing section controls how that delivery works on Shopify β€” and gives you two paths to choose between:

  • Friend Offer Page β€” a ReferralCandy-hosted page where the friend picks up their discount code before clicking through to your store. We host it; the design is set in ReferralCandy Themes.

  • Storefront Popup β€” the friend lands directly on your Shopify store URL, and a popup over your storefront shows them the code. We trigger this through a Shopify app embed.

Which path runs depends on your setup:

  • If the Friend Offer Page toggle on the Widgets page is ON, friends land on the Friend Offer Page first.

  • If the toggle is OFF and the Storefront Popup app embed is enabled in Shopify's Theme editor, friends go straight to your store and the popup shows the code.

  • If your campaign's friend offer isn't a discount code (no friend offer, or a non-code-based offer type), neither path applies β€” friends just land on your store URL. Both Friend Offer Page and Storefront Popup exist specifically to deliver discount codes.

Which is better for Shopify merchants?

Generally the Storefront Popup is the more seamless setup:

  • Friends land on your actual Shopify store β€” the place the referral was for β€” rather than an intermediary page, which tends to feel more trustworthy.

  • The popup design sits on top of your storefront, so it inherits your Shopify branding visually.

  • No extra page hop between the click and the store, so referred friends reach your product pages faster.

Keep the Friend Offer Page if you'd rather control the friend's first impression on a dedicated page you fully design (often used to feature the friend offer prominently, or when the merchant prefers a clean "here's your offer β†’ click through" flow). Either works β€” the Popup just tends to feel more native on Shopify.

Where to enable each surface

  • Friend Offer Page toggle β€” ReferralCandy Widgets page (this section)

  • Storefront Popup β€” Shopify Theme editor > App embeds (enable the Friend Offer Popup embed)

Where to customize the design

Both surfaces share the same theme and layouts β€” edit them together in ReferralCandy Themes > Customize. For full coverage (available layouts, the Page/Popup surface toggle inside the Theme editor, what each surface controls individually, and the legacy popup migration), see Friend offer landing page and popup.

Headless / custom storefronts

Referral details and discount code parameters may not carry through automatically on custom checkout flows. This can affect discount application and referral tracking β€” you may need a developer to preserve the referral link parameters through your custom storefront.


Customer referral details extension (Customer Accounts app block)

Where it shows up in the flow

An enrolled advocate logs into their Shopify customer account on your store β†’ sees their referral details inside their account area: their referral link, sharing buttons, and reward progress. They don't have to navigate to a separate ReferralCandy share page to find their info.

Why use it

Keeps everything advocate-facing in one Shopify-native place. Advocates who come back to your store to check their account see their referral progress alongside their orders and other account details, rather than having to remember where their ReferralCandy share page lives.

Where to enable / add it

Shopify Customer Accounts editor β€” add the Customer Referral Details Extension app block. (Depending on your Shopify setup, this is accessed via customer-accounts customization rather than the general Theme editor.)

Where to customize it

  • Shopify editor: display and layout controls (alignment, show/hide certain sections, icon toggles, etc.)

  • ReferralCandy Widgets page: the widget's text β€” headers, descriptions, and the table labels. Use the Edit table text button on the Widgets page to update the labels shown inside the referral details table.

Common confusion

Some header and subheader styling lives in Shopify's block settings, while the actual words and templates live in the Widgets page. They work together β€” one doesn't replace the other.


Join block (Theme app block)

Join block embedded on a storefront page

Where it shows up in the flow

A customer or visitor browsing your storefront sees an embedded signup form β€” typically on a dedicated "Refer a friend" or "Rewards" page, but it can be placed on a landing page, the homepage, or anywhere a Shopify theme allows app blocks. They fill in the form to enroll as an advocate without leaving your store. Already-enrolled advocates can also use the same form as a login entry point β€” entering their signup email switches the widget to show their referral link, so they don't need a separate login page to come back to their share options.

Why use it

Recruits new advocates from your existing storefront traffic β€” visitors and customers who are already on your site. Because it submits directly into the ReferralCandy campaign, the advocate is enrolled without bouncing them off your store.

Where to enable / add it

Shopify Theme editor (Online Store 2.0) β€” add the Join block as an app block on the page or template you want.

One-time permission step: the first time you use a Join block, you'll see a "Grant permissions" prompt on the Widgets page. This authorizes ReferralCandy to write the metafields the block needs. Click Grant permissions once, then proceed with setup.

Where to customize it

  • Theme editor: placement and layout toggles (alignment, show/hide header/offer, etc.)

  • ReferralCandy Widgets page: text and content (header, offer text, field labels, button text, etc.). The Widgets page also has a Join block linked to this campaign dropdown β€” you can link this campaign to one of up to 4 Join block slots, which is useful if you're running multiple programs (e.g., a referral campaign and an affiliate campaign) and want different signup blocks for each.

Important distinction

The Join block is the embedded storefront widget. The Join Page is a ReferralCandy-hosted campaign Theme page (edited under Themes), accessible via a shareable link. They're related, but they're not the same thing. For Join Page setup and customization, see Join Page.

For full setup details, see Join block for Shopify.


Cookie consent

Where it shows up in the flow

A visitor lands on your storefront β†’ sees a sticky banner at the bottom asking for cookie consent β†’ either consents or declines. ReferralCandy uses cookies to attribute referrals back to the advocate who shared the link, so this banner is the consent moment for that tracking.

Why use it (or not)

Turn this on if your store serves customers in jurisdictions that require explicit cookie consent (GDPR in the EU, CCPA in California, etc.). Without consent in those regions, referral tracking may not work correctly for those visitors. If you don't serve those jurisdictions, or you already have your own cookie consent system, you probably don't need this.

Where to enable / disable it

ReferralCandy Widgets page β€” the Cookie consent toggle.

Where to customize it

This widget is typically minimal and mostly just enabled or disabled. If your store needs deeper styling or behavior changes, that becomes theme or custom-code scope.


Other signup surfaces and the advocate experience

Beyond the storefront widgets above, your campaign also has a hosted Join Page β€” a ReferralCandy-hosted signup page accessible via a link you can share via email, social posts, customer support replies, or anywhere a link works (no install required). See Join Page for how to find and customize it.

For the post-signup advocate experience β€” the Share Page, Your Rewards tab, and authentication flow β€” every advocate lands in the same RC-hosted journey regardless of which signup surface enrolled them. See What advocates see after signing up.


Legacy widgets (not shown on the modern Widgets page)

Some older widgets were created when Shopify allowed more script-based customization. They don't appear on the modern ReferralCandy Widgets page, but some stores still run them:

  • Floating Referral Widget (legacy) β€” a script-based widget commonly placed on storefront pages (often the homepage). See Using a floating Referral Widget (legacy) for setup, customization, and the recommended modern alternative.

  • Shopify post-purchase script widget (legacy) β€” an older checkout-related widget from the pre-extension era. Modern Shopify checkout configurations often restrict script-based checkout customizations, so this widget may not be compatible with your checkout. The modern alternative is the Referral extension above.


Widgets FAQ

Can I use widgets from multiple campaigns at the same time?

Widgets are campaign-specific if you're running multiple campaigns. The ability to use widgets simultaneously depends on the widget type:

  • The Referral extension (checkout block) can only be active in one campaign at a time.

  • The Friend Offer Popup (app embed) can be used simultaneously and is specific to the campaign the advocate or affiliate is enrolled in.

  • You can link the Join block to a maximum of 4 campaigns in your ReferralCandy account.

  • On the Customer referral details extension, a Shopify customer enrolled in multiple campaigns can select from the Campaign dropdown to view referral details for each campaign.

  • Embedded widgets (the legacy embedded signup page and the floating Referral widget) are campaign-specific β€” campaigns don't share the same embed code and can be used simultaneously. For the floating Referral widget, it's recommended to use only one per page.

Note: Some widgets require technical expertise to set up.

Where are the widgets from the previous dashboard in Shopify admin?

With Shopify 2.0, apps are no longer advised to use script-based widgets. As a result, widgets from the previous ReferralCandy dashboard (such as the embedded signup page, floating Referral widget, and Post-purchase popup widget) are no longer shown on the Widgets page in Shopify admin.

For modern Shopify setups, ReferralCandy provides these main alternatives in Shopify admin:

  • The Join block for the embedded signup-form use case

  • The Referral extension for the checkout / Thank you page referral prompt use case

If you still need the code snippet for the floating Referral widget (or any other legacy script-based widget), let us know and we can help. If you'd like to see one of these legacy widgets offered as a Shopify app block or extension in the future, let us know β€” that kind of feedback helps us prioritize where to invest.

What are the {{ }} placeholders in the Header and Body fields?

Some widgets β€” the Referral extension is the most common β€” let you use placeholders inside the Header and Body text so each customer sees the right reward and offer.

The two you'll see most often:

  • {{incentive_description}} β€” renders the advocate's reward (for example, "$10 off")

  • {{offer_description}} β€” renders the friend offer (for example, "20% off your first order"), or none if no friend offer is configured

You can also wrap them in {% if %} blocks so the text changes depending on whether a friend offer is configured. The default Header text in the Referral extension uses this pattern β€” open the Header field on the Widgets page to see the live example.

Insert placeholders by typing them directly into the field. If they don't appear substituted in the preview, that's expected β€” the live widget on your storefront fills in the real values for each customer.

Did this answer your question?