Loyalty Admin
Rachel Bloom.
The Bloom Circle
Restricted to @rachelbloom.com · @thesmartbag.com
Forgot password?
Rachel Bloom.
Bloom Circle Admin
Sign out

The Bloom Circle

Membership overview — Rachel Bloom loyalty programme.

Total Members
Inner Circle
The Circle
The Bloom
Member Revenue
Avg Lifetime Spend
GPS Subscribers
Referrals Converted
Tier distribution
Loading…
5 most recent members
Loading…
Email sends log
Welcome emails sent:
Circle upgrade emails sent:
Inner Circle emails sent:
Bloom Reward emails sent:
About this dashboard
Tab guide
OverviewYou're here. Live membership stats, tier distribution, recent joins, and a log of all automated emails sent.
All MembersEvery customer who has ever purchased from Rachel Bloom. Filter by tier, search by name or email, expand any row to edit notes or trigger emails.
Inner CircleMembers with $1,000+ lifetime spend or an active GPS subscription. These are your highest-value customers — treat them accordingly.
The CircleMembers with 2 or more orders. Mid-tier — they love the brand enough to come back. 3-year warranty included automatically. Good candidates for GPS upsell.
The BloomFirst-purchase members. Entry tier. These are new customers who haven't yet reached Circle spend thresholds.
ReferralsTracks every referral link shared by Inner Circle members. Shows who referred who, whether they converted, and whether a Bloom Reward email was sent to the referrer.
Send EmailManually fire any tier email to a single member, or broadcast a custom message to an entire tier segment via Resend.

Members

Every customer who has purchased from Rachel Bloom, automatically enrolled into The Bloom Circle on their first order.

Loading…

GPS Subscribers

Members with active GPS tracking subscriptions.

Loading…

Referrals

Bloom Rewards referral pipeline — Inner Circle members only.

How referrals work

Inner Circle members each have a unique referral link (loyalty.rachelbloom.com?ref=XXXXXX). When they share it and a friend makes their first purchase at rachelbloom.com, a referral is recorded here.

The reward: The referring member unlocks 1 Bloom Reward and chooses ONE from the menu, $50 Bloom Credit, free 3-Year Extended Warranty, or the Founders Bundle (free RFID Card + Leather Cleaning Set + Waterproof Cover & Case). The friend gets 10% off their first order with code RBFRIEND10.

Manual fulfilment for now: When you click Send Bloom Reward, the referrer is emailed asking which option they want. Reply codes are issued manually from Shopify until the redemption flow is automated.

What the columns mean
Referrer — the Inner Circle member who shared the link.
Referred — the email of the person who clicked the link and signed up.
Converted — whether the referred person has placed a first order. Click Mark converted once you confirm the purchase in Shopify.
Bloom Reward — whether the referrer has been emailed the choose-your-reward menu. Click Send Bloom Reward to log it and notify the member.
Action checklist when a new referral appears:
1. Verify the referred person has placed an order in Shopify Admin → click Mark converted
2. Send the Bloom Reward email to the referrer (lets them pick their reward) → click Send Bloom Reward
3. When the referrer replies with their choice, manually create the discount code in Shopify and email it to them.
Total Referrals
Converted
Bloom Rewards Sent
Loading…

Leaderboard

Top Bloom Circle members by friends referred. Updates live as conversions are marked.

Active Referrers
Total Conversions
Top Referrer
Podium
Loading…
Top 50 referrers
Loading…

Send Email

Manually trigger tier emails or send a custom broadcast to any membership segment.

Single emails fire a specific pre-defined message to one member, use this for tier confirmations or Bloom Reward referral notifications. Broadcasts send a custom subject + body to an entire tier at once — use this for launches, exclusive offers, or personal notes from Rachel. All emails send via Resend from loyalty@rachelbloom.com.
Tier emails — send to individual member
Emails send via Resend from loyalty@rachelbloom.com · Member receives immediately
Broadcast — send to a full tier
⚠ Broadcast will send to ALL members in selected tier. Double-check before sending.

Playbook

Everything this admin does, why it exists, and how to operate it day to day. Bookmark or read it through once.

Section 1

01How the programme works

The Bloom Circle is a 3-tier loyalty programme stitched together with a referral programme called Bloom Rewards and a year-end leaderboard called the Founders Prize. Three pieces, one customer experience.

The Bloom Circle

Auto-enrols every customer on their first purchase. Three tiers based on spend: The Bloom (any first order), The Circle (2+ orders), Inner Circle ($1,000+ lifetime spend).

Bloom Rewards

Every member gets a unique referral link. When a friend they refer makes a first purchase, the member unlocks one Bloom Reward, redeemable from a 3-option menu.

Founders Prize

A year-end leaderboard ranking members by friends referred. Top 50 win prizes ranging from a signature accessory at #11–50 up to an in-person day with Rachel for #1.

The friend's incentive

Every referred friend gets 10% off their first order using code RBFRIEND10 (or the discount can fire automatically through the referral link).

Important: The programme is intentionally manual right now. Marking conversions and sending Bloom Reward emails are clicks you do here. This is by design while the programme is small — it gives you full control, lets you spot fraud early, and avoids edge function bugs paying out the wrong people. We'll automate when volume justifies it.
Section 2

02Daily workflow

Spend 5 minutes here once a day. The whole programme runs on this loop:

  1. Open Referrals. See any new referral signups overnight (a friend clicked a link and signed up but hasn't ordered yet).
  2. Check Shopify Admin for new orders. If any order has rb_ref in its cart attributes, that's a converted referral.
  3. Click "Mark converted" on the matching referral row in the Referrals panel.
  4. Click "Send Bloom Reward" on that row. This emails the referrer the 3-option menu (asking which reward they want).
  5. When the referrer replies with their choice (in your help@ inbox), create the chosen discount code in Shopify Admin and email it back from cs.rachelbloom.com.
  6. Once a week, click Leaderboard and screenshot the top 10. Posting it on IG Story drives a flywheel: people see they could be on it.
Time budget: 5 minutes daily for steps 1–4. About 10 minutes per redemption (step 5). Weekly leaderboard screenshot is 30 seconds.
Section 3

03The Overview panel

The first thing you see when you sign in. It's a health check at a glance.

What the numbers mean

MetricWhat it tells you
Total membersAnyone in bloom_circle table. Auto-grows with every Shopify order.
Inner Circle / Circle / Bloom countsDistribution across tiers. Healthy programme has Inner Circle around 1–3% of total, The Circle around 10–15%, rest is The Bloom.
Total lifetime spendSum of lifetime_spend across all members. Useful as a "value of the loyalty programme" number for investor decks.
Referrals trackedTotal rows in bloom_referrals. Grows when friends sign up via referral link.
Referrals convertedNumber you've marked as converted. Should be roughly 20–40% of referrals tracked once the programme is mature.
Bloom Reward emails sentNumber of converted referrals where you've clicked "Send Bloom Reward". This should equal "Referrals converted" if you're staying on top of it.

Red flags to watch for

  • Referrals tracked but 0 converted: friends are signing up but not buying. Check the friend's 10% discount is working in Shopify.
  • Referrals converted but Bloom Rewards sent is way lower: you've fallen behind on rewarding referrers. They'll get cranky.
  • Inner Circle count not growing: repeat purchase rate is low. Could be a product, pricing, or comms problem.
Section 4

04The Members panels

The sidebar has 4 ways to view members: All Members, Inner Circle, The Circle, and The Bloom. Same panel, different filter applied.

What you can do here

  • Search by name or email using the search bar at the top of the page.
  • View any member's detail by clicking their row.
  • Send a manual email to any member by clicking the email icon in their row.
  • See full order history, lifetime spend, current tier, signup date, and referral link on the detail view.

Tier badges

BadgeMeans
The BloomAny first purchase. Default tier for new customers.
The CircleHas placed 2 or more orders.
Inner CircleHas $1,000 or more in non-refunded lifetime spend.
Tier upgrades fire automatically the next time the daily sync runs after a member crosses a threshold. They get a tier-upgrade email from Klaviyo. You don't need to do anything.
Section 5

05The Referrals panel

This is your daily home. Every row is one referral — a member shared their link, and someone clicked it and signed up.

The columns

ColumnWhat it is
ReferrerThe Bloom Circle member who shared the link. Their email + tier badge.
ReferredEmail of the person who clicked the link and signed up.
DateWhen the referred person signed up (clicked link first time).
ConvertedWhether the referred person has placed a paid first order.
Bloom RewardWhether you've emailed the referrer the 3-option choose-your-reward menu.
ActionsTwo buttons: Mark converted and Send Bloom Reward.

The two buttons in detail

1Mark converted — click this only AFTER you've verified in Shopify Admin that the referred friend actually placed a paid order (and the order has cleared the return window if you want to be careful). This sets converted: true on the row.

2Send Bloom Reward — only appears after a row is marked converted. Sends the referrer an email with the 3-reward menu. After clicking, this row's gps_credit_sent flips to true so you don't double-send.

Wait the return window before marking converted. If you mark converted, send the Bloom Reward, then the friend refunds their order — you've paid out a reward for nothing. Recommendation: wait 30 days post-purchase before marking converted. Or at minimum, only mark converted after the order has actually shipped.
Section 6

06The Leaderboard

Ranks members by total converted referrals, year-to-date. This is the data behind the Founders Prize.

Stat strip

  • Active Referrers — how many members have at least one converted referral.
  • Total Conversions — total converted referrals across the whole programme.
  • Top Referrer — the current #1.

Podium and table

The top 3 get a podium card with gold/silver/bronze borders. The full top 50 list shows below with rank, member, conversions (with a gold bar indicating relative volume), pending rewards (in rose if there are any), and lifetime spend.

Sorting and ties

Sorted by conversions descending, then by lifetime spend descending as the tiebreaker. So if Anna and Joan are both at 5 conversions, the higher-spending one ranks above.

Export CSV

Click Export CSV to download the full top-50 list with every column, named like bloom-leaderboard-2026-04-29.csv. Useful for end-of-year prize fulfilment, investor decks, and competitive analysis.

Workflow tip: Screenshot the podium once a week and post it on @rachelbloomofficial Stories with the tag "This week's top three Bloom Circle referrers". Massive engagement driver. People will start sharing harder to get on it.

Bloom Circle personas

Members do NOT see each other's real names on the public leaderboard at loyalty.rachelbloom.com. For privacy, each member is assigned a deterministic, alliterative pseudonym (e.g. Pippa Praline, Honeysuckle Hedgehogs, Marigold Macarons) drawn from a curated 950-pair word library. The persona is generated from a hash of the member's email so each member always gets the same persona across sessions, then persisted to bloom_circle.display_name.

You see both in this admin: the real name (e.g. Anna Errington) is the primary, the persona shows in italic gold below it. The CSV export now includes a Persona column so you can cross-reference if a member emails asking "where am I on the leaderboard?" and only knows themselves by their persona.

Important: Members are tracked privately on our side using their real account email and details, so prizes get fulfilled correctly regardless of what fictional name they appear under publicly. The persona is a display-only privacy layer.
Section 7

07Send Email panel

Two modes: Single email for one member, Broadcast for a whole tier.

Single email types

Email typeWhen to send
Welcome to The BloomBrand new members. Usually fires automatically via Klaviyo, only send manually if Klaviyo missed someone.
You've reached The CircleMember just hit their 2nd purchase. Auto-fires, manual override if needed.
Inner Circle invitationMember just crossed $1,000 lifetime spend. Auto-fires, manual override if needed.
Bloom Reward email (referral menu)The 3-option choose-your-reward menu. Normally fires from the Referrals panel "Send Bloom Reward" button. Manual override here for re-sends.
Bloom Reward follow-upReminder email if a referrer chose a reward but hasn't redeemed it. Send 14 days after the menu was sent.

Broadcasts

Pick a tier (or all members) and send a custom message to the entire group. Use this for: programme announcements, special tier-only drops, holiday messages, and important programme changes.

Broadcasts are uncapped. If you broadcast to All Members, every single member gets the email. There's no "draft mode". Read the message twice, then click Send.
Section 8

08The 3 Bloom Rewards

When a referrer's friend converts, the referrer chooses ONE of these three rewards. Rewards stack across multiple successful referrals.

$50 Bloom Credit

One-time discount code applied at checkout against any Rachel Bloom bag (bags only, not accessories, warranties, or gift cards). Create in Shopify: Discounts → Code → $50 off → Applies to: specific collections → Bags → usage limit 1 per customer. Email the code to the member.

Free 3-Year Extended Warranty

Stated value $100. Apply to their most recent eligible bag (preferred) or their next bag at our discretion. Track manually in member's notes for now.

The Founders Bundle

Three free accessories: RFID Blocking Card + Leather Cleaning Set + Waterproof Cover & Case. Stated bundle value approx $80–$120. Create a Shopify draft order with all three SKUs at $0, mark as paid, ship to the member's address on file. No discount code needed.

Workflow per redemption

Workflow depends on which of the 3 rewards the member chose. All paths start the same: referrer replies to the Bloom Reward email with their choice.

If they choose $50 Bloom Credit:

  1. Open Shopify → Discounts → Create discount.
  2. Code format: BLOOM-[membername]-50 e.g. BLOOM-ANNA-50.
  3. Set: $50 off, Applies to: Specific collections → Bags only, 1 use per customer, 1 use total, 12 month expiry, eligible to that one customer's email.
  4. The collection restriction is critical: without it, the member could redeem the code against accessories, warranties, or gift cards. Bags only.
  5. Email the code from cs.rachelbloom.com using the Bloom Reward follow-up template, including a one-line note that it's redeemable on bags only.

If they choose 3-Year Extended Warranty:

  1. Open the member's record in admin.rachelbloom.com.
  2. Add a note: "3-Year Extended Warranty granted [date], applies to bag [order #]".
  3. No code needed. Confirm by email from cs.rachelbloom.com using the Bloom Reward follow-up template.

If they choose The Founders Bundle:

  1. Open Shopify → Orders → Drafts → Create order.
  2. Add 3 SKUs: RFID Blocking Card, Leather Cleaning Set, Waterproof Cover & Case.
  3. Apply 100% discount to each line. Total order = $0.
  4. Add customer (their email and shipping address from their last order).
  5. Mark as paid → create order → fulfilment will pick it up like any normal order.
  6. Confirm by email from cs.rachelbloom.com using the Bloom Reward follow-up template, including the order number so they can track shipping.

All three paths end with marking gps_credit_sent = true on the referral row in the Referrals panel, so it doesn't show up in the pending queue again.

Section 9

09Tier mechanics

Tier is calculated nightly from orders_count and lifetime_spend in Shopify. Members are auto-promoted — you never need to set a tier manually.

TierThresholdBenefits
The Bloom1 orderEarly access to drops, Safety Edit guide, Safety Dispatch newsletter.
The Circle2+ ordersEverything in Bloom + behind-the-scenes content + free 3-year warranty on bags purchased while a Circle member.
Inner Circle$1,000+ lifetime spendEverything in Circle + 2 years GPS service free + first access to limited colourways + direct line to Rachel.

Demotion?

Yes — if a member's lifetime spend drops below the Inner Circle threshold (because of refunds or chargebacks), they demote on the next nightly sync. They get no demotion email; the tier just quietly updates. We don't make a big deal of it.

Section 10

10Common scenarios

Scenario A: A member emails saying they referred someone but it isn't showing up

  1. Get the friend's email from the member.
  2. Search for that email in Members. If they exist, check their orders.
  3. If they have an order, check the order's cart attributes in Shopify Admin: should see rb_ref with the referrer's code.
  4. If rb_ref is missing: the friend didn't use the referral link properly (or used incognito with cookies blocked). Add a manual referral row to bloom_referrals via Supabase if you want to credit the member anyway.
  5. If rb_ref is present but no row in Referrals panel: there's a bug. Tell Saul.

Scenario B: A friend used a creator's link (not a member's link)

Creators have a different system (25% commission) handled in admin.creators.rachelbloom.com. The classifier in rb-ref-classify automatically routes creator codes to that system, so member rewards don't fire for creator-driven orders. Nothing to do here — check admin.creators if the creator is asking about commission.

Scenario C: Suspected fraud (someone referring themselves with multiple emails)

  1. Open the suspect referrer's row.
  2. Look at all their referred friends' emails. Same domain? Suspiciously similar names? Same shipping address in Shopify orders?
  3. If yes: don't mark converted. Send a polite email asking for clarification (sometimes it's legit family).
  4. If clearly fraud: mark the original member's row in bloom_circle with a flag (notes column) and stop processing their referrals.

Scenario D: Member returned the order that earned them a Bloom Reward

If you've already sent the reward menu, you have two options:

  • Honour it — small dollar amount, generates goodwill. Recommended if it's a one-off.
  • Reverse it — email the member explaining the original referral was reversed because the friend returned the order. Set converted: false and gps_credit_sent: false on that row in Supabase manually.

Scenario E: End of year, picking Founders Prize winners

  1. On 31 December, click Refresh on the Leaderboard.
  2. Click Export CSV. This is your record of truth.
  3. Verify the top 50 are all valid (no fraud, all conversions are real).
  4. Resolve ties using the rules in the T&Cs page (earliest first conversion → higher LTV → coin flip).
  5. Email each winner from cs.rachelbloom.com. Use the prize-tier email templates (need to be created closer to the time).
Section 11

11Troubleshooting

The leaderboard is empty but I know there are referrals

The leaderboard only counts referrals where converted = true. If you haven't marked any as converted yet, the leaderboard will show ghost placeholders. Click into Referrals and process the ones you have.

"Top Referrer" shows literal text like — or undefined

JS rendering bug. Hard refresh the page (Cmd+Shift+R). If it persists, the deploy on Netlify is stale — redeploy the latest zip from Saul.

I clicked "Send Bloom Reward" but the member says they didn't get the email

  1. Ask them to check spam.
  2. In Send Email panel, send the Bloom Reward email (referral menu) manually to their address.
  3. If it still fails, the member's email is bouncing — check their email in Shopify is current.

The "Active Referrers" number doesn't match the row count in the table

Active Referrers = unique members with 1+ converted referral. The table shows top 50, so if there are more than 50 active referrers, the count will be higher than the visible rows.

A member's tier is wrong

Tier syncs nightly from Shopify. If a tier is wrong:

  1. Verify their actual order count and lifetime spend in Shopify.
  2. Wait until the next morning — tier should auto-correct.
  3. If it doesn't, the nightly sync may have failed. Check Supabase Edge Function logs.
Section 12

12Tech reference

Skip this unless you're debugging or you ARE Saul. This is the under-the-hood layer.

Database tables

TableWhat it stores
bloom_circleEvery member. Source of truth for tier, lifetime spend, order count, referral_code.
bloom_referralsEvery referral. Has referrer_email, referred_email, converted boolean, gps_credit_sent boolean (legacy column name — really tracks Bloom Reward email).
rb_creatorsSeparate creator commission system. Not used by this admin.

Key edge functions

FunctionPurpose
rb-ref-classifyLooks up a ?ref= code and returns whether it's a member, creator, or unknown. Powers the disambiguation between Bloom Rewards and creator commissions.
nightly tier syncRecalculates every member's tier from Shopify order data. Runs at 2am UTC.

Cookies and storage in customers' browsers

NamePurpose
rb_refMember referral code, 30-day expiry. Set when a friend visits with a member's ?ref= link.
rb_creator_refCreator referral code, 30-day expiry. Set when a friend visits with a creator's ?ref= link.
rb_ref_classify_[code]Cached classifier result, 24-hour TTL. Avoids re-pinging the edge function on every page view.

Shopify cart attributes on orders

  • rb_ref — member referral code. Order should be credited to a Bloom Circle member.
  • creator_ref — creator commission code. Order should pay 25% commission to a creator.
  • An order should have ONE of these, never both. The classifier prevents double-attribution.

Friend discount code

Lives in Shopify → Discounts as RBFRIEND10. 10% off, first-time customers, max 1 per customer, no end date. Don't delete this without disabling the referral programme.

Don't touch: the Google Cloud OAuth client 664028043121, the Make.com CS Gmail integration, or the META_INSTAGRAM_TOKEN secret in Supabase Vault. Any of those breaking will break programmes that depend on them.

End of playbook. Last reviewed 29 April 2026.