> For the complete documentation index, see [llms.txt](https://docs.bloop.plus/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bloop.plus/referral-program/referral-hub.md).

# Referral Hub

Once a customer starts referring, they have questions your dashboard can't answer for them: *How many friends have I brought in? What have I earned? Where's my link again?* The referral hub answers all of them in one place. It is a personal, hosted dashboard each referrer reaches from a link in your referral emails — where they see their rewards, track their progress through your tiers, watch their referral activity, and grab their link to share again.

It renders straight from your campaign, so there is nothing to build or switch on. Every referrer who receives a hub link already has a working hub. Your only job is to know what it shows them — and, if you use Klaviyo or Mailchimp, to drop the hub link into your flows.

> **Best practice:** Treat the hub as the "share again" surface. A referrer who just earned a reward is your most likely next referrer — link them to their hub from the successful-referral and reminder emails so re-sharing is one click. The magic-link button is already built into those emails; your job is to keep the emails going out.

### What the hub gives a referrer

The hub is the referrer's self-service "how am I doing" page. In one screen it shows:

* **Their rewards** — every reward they've earned, with its status.
* **Their tier progress** — how close they are to the next tier, if your campaign is tiered.
* **Their share tools** — their referral link and code, and share buttons for the channels you've enabled.
* **Their recent activity** — a live feed of referrals and what happened to each.
* **A campaign switcher** — if they belong to more than one active campaign, they can switch between them.
* **A language selector** — they choose the language the hub displays in.

### How referrers get in

The hub uses a **magic link** — no username, no password. Referrer-facing emails carry a button that opens the referrer's own hub, already signed in.

* The link is a signed, single-referrer credential. A referrer can only ever see their own dashboard — the old approach of a guessable `?referrer=<id>` URL is gone.
* Each link is valid for **2 hours from the moment the email was sent**. Within that window the referrer can refresh, load more activity, and switch campaigns freely.
* After 2 hours the link expires on every device, and the hub shows a message asking the referrer to open it from a recent email. Re-access simply means opening a newer email — there is nothing for you or the referrer to reset.

The hub button is added automatically to the referrer emails where it makes sense — Welcome, Pending referral, Denied referral, Not enough referrals, Referrer reward expiry, Remind referrer, Remind referrer to refer, and Referral progress. It is intentionally left off the "reward earned" success emails and all friend-facing (referee) emails.

For emails sent from Klaviyo or Mailchimp — which can go out days or months later — Bloop provides a separate **permanent** hub link that never expires. See [adding the hub link to your flows](#add-the-hub-link-to-klaviyo-and-mailchimp-flows) below.

### What's on the hub

| Section          | What the referrer sees                                                                                                                                                                                                                                   |
| ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Header           | Your store logo and name, the campaign selector (only when they're in more than one active campaign), the language selector, and their own name and email                                                                                                |
| Campaign banner  | The campaign name, an active/inactive badge, and both reward lines — "Your friend gets…" and "You get…"                                                                                                                                                  |
| Referral methods | Their share link and share code (each with a one-click copy), plus share buttons for the channels you've enabled. Hidden when the campaign is inactive, and each of link/code respects your per-campaign "enable share link / enable share code" toggles |
| Reward tiers     | Shown only for tiered campaigns: a timeline of tier milestones with done / current / upcoming markers, the reward at each step, and a progress headline. Supports looping tiers and the "count referrals from a date" mode                               |
| My rewards       | Every reward earned, with a type icon (discount code, store credit, cash, or custom), title, dates, and a status badge — Available, Used, or Revoked. Filter tabs let them narrow the list, and discount codes get a copy button                         |
| Recent activity  | A paginated feed of referral events — a friend's purchase, the amount, and a status (pending, reward sent, declined, or revoked) with a timestamp                                                                                                        |

Everything here comes from your existing campaign: the reward types and values, the tier structure, the share channels you enabled in branding, your store currency, and your Bloop translations. You don't configure the hub separately.

#### Apply a discount straight to the cart

Discount-code rewards on the hub get a **Shop now** button. Clicking it sends the referrer to your storefront with the discount already applied — they never have to copy a code or type it at checkout, and a short confirmation toast tells them it's done. This applies only to discount-code rewards; store credit, cash, and custom rewards don't need it.

#### Revoked rewards are explained

If a reward was clawed back — because the order behind it was cancelled or refunded — it appears in **My rewards** with a **Revoked** badge and a note explaining why. This keeps the referrer informed rather than leaving them wondering where a reward went. See [reward revocation](/referral-program/rewards.md#revoke-a-reward-when-an-order-is-cancelled-or-refunded) for how and when this happens.

### Languages

The referrer picks the hub's language themselves, from 20 languages shown in their own native names — English, Deutsch, Español, Français, Italiano, Dansk, Suomi, 日本語, Polski, Português, 한국어, Nederlands, Magyar, Türkçe, Română, ไทย, Svenska, Čeština, 简体中文, and 繁體中文. The choice is remembered for future visits. Every hub label is already translated, so there is nothing for you to set up.

### Add the hub link to Klaviyo and Mailchimp flows

Because a Klaviyo flow or Mailchimp journey can send an email long after a referral happens, the 2-hour magic link isn't suitable there. Instead, Bloop syncs a **permanent, non-expiring** hub link for each referrer that you can use as a call-to-action button in any flow email:

* **Klaviyo** — the profile property **`BLOOP Hub Portal`** (use `{{ person|lookup:'BLOOP Hub Portal'|default:'' }}`).
* **Mailchimp** — the merge field **`BLOOPHUB`** (use `*|BLOOPHUB|*`), added to your connected audience automatically on the first sync.

Drop that link on a button in your referral flows so advocates always have a live way back to their hub, whenever the email lands. See [Klaviyo integration](/referral-program/integrations/klaviyo.md) and [Mailchimp integration](/referral-program/integrations/mailchimp.md).

### What you control

The hub has no separate on/off switch or storefront block — it is available to any referrer who receives a hub-link email, and it mirrors your campaign. What shapes it is the configuration you already set:

* **Rewards and their values** come from your referrer reward setup.
* **Tiers** come from your tier structure and its after-final-tier behavior.
* **Share channels** come from the sharing methods you enabled in branding.
* **Link and code visibility** follow your per-campaign share-link and share-code toggles.
* **The permanent hub link** is the one thing you actively place — as a button in your Klaviyo or Mailchimp emails.

### Next steps

* Set what referrers earn in [Referrer and referee rewards](/referral-program/rewards.md).
* Understand when a reward can be pulled back in [reward revocation](/referral-program/rewards.md#revoke-a-reward-when-an-order-is-cancelled-or-refunded).
* Give referrers more milestones to chase with [tiered rewards](/referral-program/tier-rewards.md).
* Reach advocates in your marketing flows with the [Klaviyo](/referral-program/integrations/klaviyo.md) and [Mailchimp](/referral-program/integrations/mailchimp.md) integrations.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.bloop.plus/referral-program/referral-hub.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
