Rachel Bloom · Ray AI CMO
Restricted to @rachelbloom.com and @thesmartbag.com
Forgot password?
Ask Ray
Good morning, Saul.
Loading your morning brief…
What's the single most important thing I should do today to grow Rachel Bloom?
What's our best performing channel and how do we double down on it?
Write me the 3 best performing ad hooks for Rachel Bloom right now
How should I structure my campaign budget to maximise AOV on GPS upsell?
📎
Campaign Builder
Generate & launch to Meta in one click
UTM Tracking
Campaign Dashboard
Live Performance
US market · All campaigns · Last 7 days
PRE-LAUNCH
Total Spend
Loading…
Revenue
Loading…
Blended ROAS
Target: 3.5×
CAC
Target: <$90
Orders (24h)
From Shopify
Loading intelligence…
Shopify
Checking…
Meta Ads
No token
Google Ads
Not configured
Analytics
Checking…
Influencer CRM
Checking…
Active Campaigns
Campaign Status Spend Revenue ROAS Impressions CTR CAC Actions
Intelligence Log — Past Recommendations Clear log
24hr Intelligence
Performance Analysis
Ray reviews all campaigns every 24 hours and surfaces ranked, actionable recommendations.
Last run: Never — click to generate your first analysis
Pulling campaign data…
AI Creative
AI Creative Studio
PLATFORM
Meta · Feed square (1:1) — hook + headline + primary text + CTA optimised for Instagram/Facebook feed.
Product
Audience & Tone
Output
Creative on demand.
Pick a platform tab above, configure your product and audience, then generate. Ember uses your live brand data, asset library and Jess's creative direction.
Create Ads · Meta
Meta Ads Manager
Create, manage and monitor campaigns across Instagram & Facebook — live from your ad account.
Checking connection…
Period
Click Refresh to load your campaigns.
Create Ads · TikTok
TikTok Ads Manager
Create and manage TikTok campaigns directly from this dashboard.
Coming soon.
TikTok Ads integration requires a TikTok for Business API token. Once your token is added in Settings, full campaign creation and management will be available here.
How to connect
1. Go to TikTok for Business → Apps → Create App
2. Request Campaign Management permission
3. Copy your Access Token
4. Add it in Settings → TikTok API Token
Create Ads · Google
Google Ads Manager
Create and manage Search, Shopping and Performance Max campaigns — live from your ad account.
Loading…
UTM Tracking
UTM History
Every URL generated by Ray — synced with analytics.rachelbloom.com
Open Analytics Dashboard
No UTM links generated yet. Build a campaign and they'll appear here automatically.
Launch Tools

Cold Account Accelerator

Fresh pixel, zero data — the proven structure to feed Meta's algorithm fastest and exit learning phase in under 14 days.

Learning Phase Warning — Weeks 1-2
Your pixel needs 50 conversions per ad set per week to exit learning. CPMs will run 20-40% higher than mature accounts. Do NOT pause campaigns in the first 7 days — you'll reset the learning clock.
Recommended Launch Campaign Structure
Ray's Cold Account Strategy — Personalised to Rachel Bloom
Generating your cold account brief…
Pre-Launch Checklist
Pixel Seasoning — Do This Before Launch Day
Legitimate ways to pre-train Meta and Google's algorithm so your pixel isn't cold on day 1.
Launch Tools

Creative Testing Matrix

3 hooks × 3 visuals × 2 CTAs = 18 combinations. Find your winning ad in the first 30 days.

Hook Variants (H1–H3)
Visual Concepts (V1–V3)
CTA Variants (C1–C2)
Full Matrix — 18 Ad Combinations
Launch Tools

Competitor Intelligence

Live from Meta's Ad Library — what competitors are actually running right now. Ad longevity = proof it's working.

Launch Tools

Audience Intelligence

Built from your real order data, waitlist signals, industry benchmarks, and Meta audience patterns for premium women's accessories in the US market.

Create Ads · Playbook
Maya Ad Ops
Playbook
Everything you need to run campaigns end to end — from creating a new campaign to adding individual ads. Copy the prompt, paste to Maya, approve the card.
01
Finding Campaign, Ad Set & Ad IDs
You need these IDs every time you add to an existing structure
In Meta Ads Manager
How to get any ID
1
Go to adsmanager.facebook.com and navigate to the level you need (Campaigns, Ad Sets, or Ads tab)
2
Find the campaign, ad set, or ad you want
3
Click the Edit pencil next to the name
4
In the edit panel, click the three dots (···) in the top right corner
5
The numeric ID appears in the bottom right of the panel — copy it
Tip: You can also see the ID directly in the URL when you drill into a campaign — it appears as a long number in the path.
Your Current IDs
Live campaign structure
LevelNameID
CampaignTBB LLA Scale | GPS + Fashion | Apr 2026120243876640740463
Ad SetW25-50 | USA | TBB 1% LLA | Apr 2026120243876641330463
Ad SetW25-50 | USA | TBB 3% LLA | Apr 2026— check Meta
02
Create a New Campaign + Ad Set + First Ad
One prompt → one approval card → Campaign + Ad Set + Ad pushed to Meta as PAUSED
What Maya creates
Full campaign build — CAMPAIGN_BUILD
Maya outputs a single approval card covering the complete structure. One click pushes all three objects to Meta simultaneously. The ad is created with a unique image from the asset library.
Prompt Template
Copy → paste into Maya's chat
Full Campaign Build
Maya, fresh start. Build a new campaign, ad set and first ad — one push.

Campaign: [CAMPAIGN NAME] — Sales objective, $[X]/day

Ad Set: [ADSET NAME] — Women [AGE RANGE], [GEO], [TARGETING TYPE], Facebook feed + Instagram feed + Reels

Ad: Use asset [ASSET NAME]. Write primary text with a [ANGLE] hook (max 125 chars) and a benefit-driven headline (max 40 chars). CTA: SHOP_NOW. Destination: https://rachelbloom.com

Build the spec now.
Note: Replace everything in [BRACKETS] with your specifics. For the asset, use one of the exact names from Chapter 5.
03
Add a New Ad Set to an Existing Campaign
Use this when you want a new audience segment (e.g. 3% LLA) inside an existing campaign
What Maya creates
Ad set only — ADSET_BUILD
Maya outputs a mauve approval card. After you approve, a green alert shows the new Ad Set ID. Copy it — you'll need it immediately to add ads.
Important: Do NOT ask Maya for ads in the same prompt. She won't have the real Ad Set ID yet. Ask for the ad set first, get the ID, then ask for the ads.
Prompt Template — LLA Ad Set
Copy → paste into Maya's chat
New Ad Set (LLA)
Maya, create a new ad set in campaign [CAMPAIGN_ID] for [X]% Lookalike of audience [AUDIENCE_ID].

Name: [ADSET NAME]
Women [AGE RANGE], [GEO], Facebook feed + Instagram feed + Reels, campaign budget.

Output as one <ADSET_BUILD> block only. No ads yet.
Prompt Template — Broad Ad Set
No lookalike — broad targeting
New Ad Set (Broad)
Maya, create a new ad set in campaign [CAMPAIGN_ID]. Broad targeting — no lookalike.

Name: [ADSET NAME]
Women [AGE RANGE], [GEO], Facebook feed + Instagram feed + Reels, campaign budget.

Output as one <ADSET_BUILD> block only. No ads yet.
04
Add New Ads to an Existing Ad Set
One prompt → multiple gold approval cards → approve each individually
What Maya creates
Multiple ads — AD_BUILD × N
Maya outputs one gold approval card per ad. Each card shows the ad set ID, asset, headline and CTA. Approve each one — they push to Meta independently. Every ad gets a unique image automatically — Maya will never repeat an asset in the same batch.
Emotional Trigger Strategy
5 angles to test per ad set
Each ad in a batch targets a different emotional trigger with a unique creative asset. This tests what resonates with your audience — safety fear, travel anxiety, gifting, fashion positioning, or emotional security. Run all 5, let Meta optimise, kill the bottom 2 after 14 days.
#AssetEmotional TriggerAngle
1RB-Lifestyle_10GPS / Safety HookFear of theft, fingerprint lock, peace of mind
2RB-L10_03Travel FearAirports, crowded metros, solo travel anxiety
3RB-L4_01GiftingPerfect gift for her, Mother's Day, birthday, treat yourself
4RB-L12_06Fashion-FirstLuxury design, premium leather, style that doesn't compromise
5RB-L5_05 (1)Emotional SecurityConfidence, control, never worry about your bag again
Prompt Template — 5 Ads (Emotional Triggers)
Copy → paste into Maya's chat
5 Ads — One Per Emotional Trigger
Maya, add 5 ads to ad set [ADSET_ID]. Each ad must have a unique asset AND a unique emotional trigger — no repeats on either.

Use exactly these 5 combinations:

1. Asset: RB-Lifestyle_10 — Angle: GPS/Safety Hook (fear of theft, fingerprint lock, peace of mind)
2. Asset: RB-L10_03 — Angle: Travel Fear (airports, crowded metros, solo travel anxiety)
3. Asset: RB-L4_01 — Angle: Gifting (perfect gift for her, birthday, treat yourself)
4. Asset: RB-L12_06 — Angle: Fashion-First (luxury design, premium leather, style that doesn't compromise)
5. Asset: RB-L5_05 (1) — Angle: Emotional Security (confidence, control, never worry about your bag again)

For each: write punchy primary text (max 125 chars) and a benefit-driven headline (max 40 chars). CTA: SHOP_NOW. Destination: https://rachelbloom.com

Output all 5 as <AD_BUILD> blocks now.
Tip: Replace [ADSET_ID] with your actual ad set ID. After 14 days, ask Maya to analyse performance by trigger — she'll tell you which angle to scale and which to kill.
05
Image Assets & Hash IDs
Meta requires a pre-uploaded image hash — Maya picks from this list automatically
Current Asset Library
6 confirmed hashes — ready for Maya
#Asset NameHash ID
1RB-L5_05 (1)5ff67bc96540bb7e60ab33a8a7ab4572
2RB-L10_0314e5969b14e2e843dbf26f5b259e5da8
3RB-L4_01900c91ba97c367f6dca3c950299f52f0
4RB-L12_06ae894d77b5c42c5c00db4c120692f291
5RB-L11_05 (1)bc02f17eb2b41f381caf515bf04ec6b7
6RB-Lifestyle_10dc7c337e28487a1750c300ef58735c4a
Adding New Images
How to expand the asset library
2
Upload your new image — must be at least 1080×1080px, under 30MB
3
Once uploaded, click the image → find the Hash ID in the image details panel
4
Come back here and tell me: "Add new asset [NAME] with hash [HASH]" — I'll add it to the table above and wire it into Maya's system
Why hashes? Meta's API requires images to be pre-uploaded to the ad account and referenced by hash. You can't pass a URL directly — it rejects it. Every image needs a hash before Maya can use it.
06
Editing Campaigns, Ad Sets & Ads
Budget changes, pausing, enabling — all done in Meta Ads Manager directly
Budget changes
Scaling up or down
All campaigns are created as PAUSED. To activate and edit budgets, go directly to Meta Ads Manager — click the toggle to enable, or click the budget number to edit inline. Maya can also propose budget changes via chat — she'll tell you what to change in Meta rather than pushing it directly.
Ad copy changes
Updating headline or primary text
Ad creatives can't be edited after creation in Meta — you create a new ad with the updated copy and pause the old one. Ask Maya to build a new AD_BUILD with the revised copy and the same ad set ID.
Maya's decision rules
When to scale, pause or kill
ROAS > 4× for 48h+ — scale budget +25%, monitor for another 48h
ROAS 1.5–4× — hold, let the algorithm learn (minimum 7 days before judging)
ROAS < 1.5× after 14 days — pause and brief Maya on new creative
!
CTR < 1% — new creative immediately, don't wait
!
Frequency > 3 — refresh creative or expand audience
Launch Tools

Predictive ROAS Model

Week-by-week ROAS trajectory based on premium leather DTC benchmarks, your $195-$495 price point, and the typical cold-account learning curve. Know if you're ahead or behind before the data arrives.

Source of Truth
Team Brain
Single source of truth all 8 AI team members read before every report. Update this when anything changes — press hits, inventory, focus, known data quirks. Edge functions pull this on every run.
Edit any field below, then save
Current Focus
What is the team focused on this week. Update on Mondays.
Press & Events Log
Every team member references these specifically (not generically) in their reports and creative. Add segments, awards, and editorial as they happen.
Inventory State
Hero products, stockouts, what's on Pre-Order, incoming POs. Update when anything ships or runs out.
Launch Context
Launch date, days away, milestones. Pre-launch vs post-launch phase.
Standing Facts
Positioning, hero products, audience, channels, founders. Rarely changes.
Data Health & Known Quirks
Known issues with data sources. Tells team WHY the pixel says 0 when Google Ads platform shows 6 — so they don't report wrong numbers.
Data Hierarchy
The single rule the team applies on every output: which sources are truth, which are platform-claims to be cross-checked, which are forbidden. Updates here propagate to every member instantly.
Per-Member Notes
Specific guidance per team member. Each gets only their own notes appended.
The Team
Team Sync
All five team members respond to the same prompt simultaneously. Ray synthesises into one strategic alignment.
Select a sync to run. All five team members will respond simultaneously.
The Team
Team Brief
Ask any strategic question. All five experts respond from their domain. Use this to get five parallel expert perspectives instantly.
B
Brand Director
Chanel · Net-a-Porter · Mejuri
B
Brand Director
8 years Chanel creative studio. Creative Director at Net-a-Porter. Gave Mejuri its visual language. Guardian of Rachel Bloom's identity — nothing ships that dilutes the brand.
Review our current brand visual language — are we on track?
How should we balance fashion vs tech in our launch creative?
What does Rachel Bloom's photography direction need to look like?
📎
G
Head of Growth
Fenty Beauty · Cuyana · $50M+ Meta
G
Head of Growth
Ran growth at Fenty Beauty DTC. Built Cuyana's paid media engine. $50M+ in Meta spend targeting premium women. Lives in ROAS, CAC, CPM and creative performance.
Analyse our current campaign performance and tell me what to do
What's the best way to seed our pixel before launch?
How do we use the jewellery email list in Meta most effectively?
How to create Meta Ads
Maya Ad Ops Playbook — campaigns, ad sets, ads, image hashes
📎
L
Head of Loyalty
Net-a-Porter EIP · Sephora Beauty Insider
L
Head of Loyalty
Built Net-a-Porter's EIP programme. Understands Sephora Beauty Insider as a customer intelligence engine, not just a points scheme. Thinks in LTV cohorts, GPS subscription retention, and Rachel's Circle membership architecture.
Design the Rachel's Circle tier structure and benefits
How do we retain GPS subscribers when the free year ends?
What's the referral mechanic that fits Rachel Bloom's positioning?
📎
S
Social & Influencer Lead
Glossier 500K→3M · Mejuri · Cuyana · Khaite
S
Social & Influencer Lead
Grew Glossier Instagram 500K to 3M. Social lead at Mejuri. Consulted for Cuyana, Khaite, and Ganni. Knows that theft stories are inherently viral and Rachel Bloom has a content advantage no other fashion brand has.
What content should we be posting pre-launch right now?
What creator profile should we be sending bags to right now?
Write me a TikTok script using the theft story format
📎
J
Jess Baum · Creative Director
Bottega Veneta · Net-a-Porter · Aesop · Chanel
S
Creative Director
Grew Glossier Instagram 500K to 3M. Social lead at Mejuri. Consulted for Cuyana, Khaite, and Ganni. Knows that theft stories are inherently viral and Rachel Bloom has a content advantage no other fashion brand has.
What should our hero campaign look like for launch?
Review our current brand visual identity — what needs work?
Write a brief for our first hero photoshoot
📎
J
Josh Owide · BI Director
McKinsey · Farfetch · Gymshark · MIT PhD
S
BI Director
Grew Glossier Instagram 500K to 3M. Social lead at Mejuri. Consulted for Cuyana, Khaite, and Ganni. Knows that theft stories are inherently viral and Rachel Bloom has a content advantage no other fashion brand has.
What does our revenue trajectory look like for launch?
Build me a 90-day revenue forecast
What is our true CAC by channel right now?
📎
H
Harper — Head of Customer Intelligence
CS Insights · Sentiment · CSAT · Ticket Trends
H
Harper — Head of Customer Intelligence
Former Head of CX Analytics at ASOS and Glossier. Turns customer service data into marketing intelligence. Knows that what customers complain about tells you more than what they praise — and that CS tickets are the most underused insight engine in DTC.
What are our customers most worried about right now?
What CS trends should the marketing team know about?
What should we fix in our product or messaging based on ticket data?
📎
Ray AI
Messages
Yesterday's Round Up — delivered daily at 9am. Full team debrief on prior day performance.
Preparing yesterday's round up…
Configuration
Settings
Meta Ads Integration
Meta Ad Account ID
Found in Meta Business Manager → Ad Accounts → Account ID
Meta Pixel ID
Found in Events Manager → Data Sources
Meta Business ID
Found in Business Settings → Business Info
Meta Access Token
Long-lived token from Meta for Developers → Tools → Access Token Debugger. Unlocks live campaign data in 24hr Intelligence and Daily Brief.
Facebook Page ID
Required for Maya to create ads. Find in Meta Business Suite → Settings → Page Info.
Meta API Status
Connect your Meta account to unlock live ROAS, spend and creative performance data
Daily Brief — 8am ET
Brief recipient
Sent daily at 8am ET via Supabase cron + Resend
saul@rachelbloom.com + rachel@rachelbloom.com ✓
Brief covers
Spend & ROAS · Pause/Scale recommendations · Budget reallocation · Creative insights · Competitor watch · Influencer pipeline · #1 priority action
Winning Ad Amplifier
ROAS threshold to trigger
When a campaign hits this ROAS, Ray auto-drafts 3 creative variations in Ember and flags them for review
Status
Activates when Meta API connected
Budget Reallocation Engine
Weekly budget cap
Ray monitors daily and recommends shifting budget from underperformers to winners. You approve before anything changes.
Minimum ROAS before pause recommendation
Google Ads Integration
Google Ads Customer ID
Rachel Bloom ad account (format: XXX-XXX-XXXX)
OAuth Client ID
From Google Cloud Console → rachel-bloom-sync → Credentials
OAuth Client Secret
From Google Cloud Console → rachel-bloom-sync → Credentials
Google Ads Status
Save credentials then click Connect in the Google Ads Manager panel
Not Connected
Brand Context
Brand Name
Website URL
Primary Market
Launch Date
Image Generation — DALL-E 3
OpenAI API Key
From platform.openai.com → API Keys. Powers image generation in AI Creative.
Image Size
1024×1024 recommended for Instagram square ads
Team Access
Your Account
Logged in as
ADMIN
Change Password
Send a password reset link to your email
Invite Team Member
Email address
They'll receive an invite email with a link to set their password. Each team member gets their own login and private workspace.
Role
Team members can access all tools. Admin can manage team.
Active Team
Loading team…
Creative Assets
Asset Library
Images, video and docs — organised in folders, wired to the entire team.
Loading assets…