# Subscriber Profile

Each subscriber in your campaign has a profile page that tracks their activity, personal details, and eligibility for rewards. Profiles are automatically created when a person signs up (organically or via referral) and updated in real time as they engage with your campaign.

## Global Subscriber vs Campaign Subscriber

When someone enters your system, their information is stored at two levels:

* **Global Subscriber**
  * Represents the *person* across all campaigns
  * Identified by a constant **Global Subscriber ID** (e.g., `gsub_ff802dc19549`)
  * Stores global data like name, email, tags, verification, wallet details, etc
  * Can be linked to one or more campaign profiles
* **Campaign Subscriber**
  * Represents that same person *within a specific campaign*
  * Identified by a unique **Campaign Subscriber ID** (e.g., `sub_bd0ed699b77a`)
  * Stores campaign-specific data such as referral status, rewards, rank, conversion values, etc
  * A new Campaign Subscriber ID is generated for each campaign the person joins, but all are tied back to the same Global Subscriber

<figure><img src="https://363135598-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LsuqexOLPOWiUrWg_Ko%2Fuploads%2FYMBBlHghkCs6HtlBVRie%2Fimage.png?alt=media&#x26;token=b90b99d8-477f-43b9-bc24-21d30ad9e5df" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Think of it like this:

* Global Subscriber = the person
* Campaign Subscriber = the person’s role in one campaign
  {% endhint %}

## Subscriber Type

Subscribers can have two different Types:

* Non-Referral: A person who signs up directly, is imported, or is synced via integrations into your campaign
* Referral: A person who first clicks a unique referral link and then signs up

## Referral Status

Referral Status shows how far a referred subscriber has progressed through your conversion funnel. This makes it easy to segment, analyze, and trigger automations.

![](https://363135598-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LsuqexOLPOWiUrWg_Ko%2Fuploads%2FBMNK1lU2wcBcWMzku8TY%2F1.png?alt=media\&token=d5465c5d-bfc5-4b14-8ad5-3a0ddd09f600)

Referral statuses vary depending on how many **conversion events** your campaign tracks:

* **One conversion event**
  * Status: **Confirmed**
  * Example: A giveaway signup. The referred subscriber is marked Confirmed immediately when they join
* **Two conversion events**
  * Statuses: **Pending → Confirmed**
  * Example: An e-commerce flow. Referral signs up (Pending), then makes a purchase (Confirmed)
* **Three conversion events**
  * Statuses: **Pending → Unconfirmed → Confirmed**
  * Example: A SaaS funnel. Referral signs up (Pending), starts a trial (Unconfirmed), then becomes a paying customer (Confirmed)

Referrals can also be marked as **Unqualified**, which is a non-linear status regardless of the number of conversion events configured.

## Profile Sections

The subscriber profile is divided into several sections:

### Global Subscriber Menu

<figure><img src="https://363135598-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LsuqexOLPOWiUrWg_Ko%2Fuploads%2FXBIqkk8oXrERQxqumZHm%2Fimage.png?alt=media&#x26;token=da18bb08-53ab-41ec-9950-da02664be4f0" alt=""><figcaption></figcaption></figure>

At the top right corner of the profile page, you’ll find a three-dot menu with the following options:

1. **Edit info** – Edit the subscriber’s primary identifier
2. **Export** – Export the subscriber’s details
3. **Flag all referrals as High Risk** – When checked, marks this subscriber and all their existing and future referrals as high risk
4. **Delete subscriber** – Deletes the global subscriber associated with the **Global Subscriber ID** (e.g., `gsub_ff802dc19549`)

{% hint style="warning" %}
**IMPORTANT:** If a subscriber exists in multiple campaigns, deleting them here will delete the **global subscriber**, meaning their profiles across ***all campaigns*** will be removed.
{% endhint %}

### Global Profile Overview

<figure><img src="https://363135598-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LsuqexOLPOWiUrWg_Ko%2Fuploads%2Fh2ri6doTRF4fx7wBfQ1i%2Fimage.png?alt=media&#x26;token=3a6ee144-699d-43ba-90c4-71f93d23440b" alt=""><figcaption></figcaption></figure>

Just below the **Global Subscriber menu**, you will find the following data:

* **Name** and **Unique Identifier**
* **Referral link** – Unique referral link for the selected campaign
* **Download QR code** – Scannable code pointing to their referral link
* **Visitor count** – How many people clicked their link (across all campaigns)
* **Referral counts** – Number of Pending, Unconfirmed, and Confirmed referrals (across all campaigns)
* **Points** – Accumulated points (if [points-based systems](https://support.referralhero.com/campaign-builder/goal/goal-type#conversion-events--social-actions) are enabled)
* **Generated revenue** – Total revenue attributed to this subscriber’s referrals
* **Total commission paid** – Total commission earned by this subscriber
* **High Risk flag** – Indicator if fraud detection has flagged this profile

### Personal Info Section

The Personal Info panel contains global fields that apply across all campaigns, including:

* **Name**
* **Global Subscriber ID** – Unique ID across all campaigns
* **Email**
* **Phone number**
* **Web3 Wallet Address / Crypto Wallet Provider**
* **Tags** – Labels for segmentation (across all campaigns)
* **Verified** – Shows whether the subscriber has been verified (email/SMS). If verification is not enabled in the Unique Identifier settings of the Campaign Builder, this defaults to `True`
* **Extra fields** – Up to four custom fields can be added
* **Option field** – Value selected from the *Option Field* dropdown in the signup widget
* **Address / Country / City**

### Campaign Info Section

Just below the **Global Profile Overview**, you’ll see a horizontal list of campaign tabs. These represent all the campaigns the subscriber is part of.

<figure><img src="https://363135598-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LsuqexOLPOWiUrWg_Ko%2Fuploads%2Foh9Monpsospvwu2eJNPw%2Fimage.png?alt=media&#x26;token=1362bc0c-6b2e-4b04-8e49-c913ed14b0d2" alt=""><figcaption></figcaption></figure>

* By default, the first campaign is selected
* Clicking another campaign tab will update the **Campaign Info** panel with the subscriber’s data specific to that campaign

At the top right corner of the Campaign Info panel is the **Campaign Subscriber** menu (three-dot menu). Options include:

1. **Edit info** – Edit the subscriber’s global or campaign-level info
2. **Profile link** – Access the subscriber’s public profile link
3. **Delete subscriber** – Deletes this campaign subscriber (associated with the Campaign Subscriber ID)

{% hint style="warning" %}
**IMPORTANT:** Deleting here only removes the subscriber from the **current campaign**. If they belong to other campaigns, those profiles remain.
{% endhint %}

The **Campaign Info** panel displays campaign-specific data, such as:

* **Campaign Name**
* **Type** – *Organic* or *Referred by \[advocate’s unique identifier]*
* **Referred status** – Only available for referred subscribers (Pending, Unconfirmed, or Confirmed)
* **Added on** – Date the subscriber joined the campaign
* **Referral code** – Unique code attached to their referral link
* **Conversion value** – Value of the first transaction synced to ReferralHero
* **Conversion category** – Conversion category synced to ReferralHero
* **Lifetime spend** – Sum of all transaction values
* **Transaction ID** – ID of the first conversion transaction
* **Eligible Rewards** – Rewards the subscriber is eligible for
* **Position** – Their rank in the campaign leaderboard
* **Campaign Subscriber ID** – Campaign-level subscriber ID
* **Device / OS Type / Screen Size** – Technical info from their signup visit
* **IP address** – IP address from their signup visit
* **Source** – Where the visit came from
* **Landing Page / Subscribe Page URLs**
* **Email Unsubscribed** – Current email subscription status
* **SMS Unsubscribed** – Current SMS subscription status

Key differences:

* Organic subscribers: Type shows as *Organic*. No *Referred status* field
* Referred subscribers: Type shows as *Referred by \[advocate’s unique identifier]*, with an extra Referred status field

### Activity Panels

Subscriber profiles also include expandable panels with campaign activity:

* **Referred Visitors** – Visitors who clicked this subscriber’s referral link
* **Referred Subscribers** – People who signed up using their referral link
* **Rewards Unlocked** – Individual rewards unlocked
* **Group Payout Rewards** – Rewards grouped into bulk payouts
* **Timeline Log** – Chronological log of activity and edits. Can be sorted newest → oldest or vice versa, and filtered by date

<figure><img src="https://363135598-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LsuqexOLPOWiUrWg_Ko%2Fuploads%2FPlxaINhFEsTBoROcOwGQ%2Fimage.png?alt=media&#x26;token=5be8c936-d99d-4637-a2cf-a58105a265a2" alt=""><figcaption></figcaption></figure>

## Editing the Primary Identifier

The primary identifier can be edited at both the global and campaign levels. The impact of editing depends on where the change is made:

* **Global-level edits**
  * Editing the primary identifier via the global-level **Edit info** option (located in the top-right corner of the profile page) updates the identifier across *all* associated campaign profiles
  * This ensures the subscriber remains linked to the same global profile across campaigns
* **Campaign-level edits**
  * Editing the primary identifier via the campaign-level **Edit info** option (in the Campaign Info panel) updates the identifier only within that specific campaign profile
  * This breaks the link to the original global profile, causing the campaign subscriber to become disassociated
* **When two global subscribers exist**
  * If you attempt to update a global subscriber’s identifier (via the global-level Edit) to one already in use by another global subscriber, the update will fail and return the error:\
    \&#xNAN;*“Update failed: unique identifier already exists”*
  * If you update a campaign subscriber’s identifier (via the campaign-level Edit) to match another global subscriber’s identifier, the two records will merge into a single global subscriber
