Your engaged segment is probably built on opens. That means it's keeping subscribers no human has ever touched.
A Base Sending Segment fixes that. It decides who receives each send based on clicks, and it's built as a dial you tighten and loosen, not a filter you set once and forget.
This page does two jobs. It explains the framework to you. And it gives your AI assistant the exact instructions to build one in beehiiv through the MCP, asking you the right questions along the way.
Paste the link to this page into your AI with the prompt below. It'll take it from there.
A Base Sending Segment keeps humans and drops ghosts
Here's the thing about opens. Apple Mail Privacy Protection fires your tracking pixel before your subscriber sees the subject line. Image prefetchers fire it. Corporate security scanners fire it. That's opener bloat: subscribers your ESP reports as openers who have never clicked.
A ghost opens every send. It's the most reliable opener on your list. So it clears any open-based filter you set, no matter how tight.
Clicks are the most reliable human signal. A Base Sending Segment is built around them. A subscriber gets your next send if they match any one of four branches:
Branch | Rule | Who it keeps |
|---|---|---|
1 | Clicked in the last X days | Your active readers |
2 | Opened in the last X days AND clicked ever | Readers who proved a human is behind the pixel |
3 | Opened in the last X days AND subscribed within X days | New subscribers still settling in |
4 | Subscribed in the last X days | Brand-new subscribers, no activity required |
Branch 2 is the one that kills opener bloat. An open only counts if there's a click somewhere in that subscriber's history. One click, ever, and their opens mean something. Zero clicks and a long tenure? They're gone.
Raw clicks are not verified clicks
Scanners don't just fire pixels. They follow links too. On our own newsletter, raw clicks run about 42% higher than verified clicks. That gap is machines.
beehiiv tracks both. Your BSS uses verified clicks. Build it on raw clicks and you've let a chunk of the ghosts back in through a different door.
Your windows count sends, not days
Every X in those four branches is a window. There are four of them:
Window | Used in | The question it answers |
|---|---|---|
Click window | Branch 1 | How many sends can a past clicker go without clicking before they drop out? |
Open window | Branches 2 and 3 | How recent does an open need to be to count? |
Grace window | Branch 3 | How long do new subscribers get to prove themselves with opens alone? |
New-subscriber window | Branch 4 | How long does a brand-new subscriber get sends with no activity at all? |
Think about it. A 30-day window at twice a day is 60 sends. At once a week, it's four or five. Same number in the settings, completely different segment.
So you pick each window in sends first. Then you convert to days for beehiiv:
Window in days = sends in window ÷ sends per week × 7
A publisher who copies someone else's day values without matching their cadence gets a segment that's either far too loose or far too tight. That's why the AI asks for your cadence before anything else.
Starting windows by cadence
These are starting points, not finish lines. Run them, review the results, then adjust.
Window | Once a week | Daily |
|---|---|---|
Click window (branch 1) | 120 days (about 17 sends) | 90 days (90 sends) |
Open window (branches 2 and 3) | 120 days (about 17 sends) | 60 days (60 sends) |
Grace window (branch 3) | 120 days (about 17 sends) | 120 days (120 sends) |
New-subscriber window (branch 4) | 90 days (about 13 sends) | 15 days (15 sends) |
Written out as rules:
Once a week: clicked in the last 120 days, OR opened in the last 120 days and clicked ever, OR opened in the last 120 days and added in the last 120 days, OR added in the last 90 days.
Daily: clicked in the last 90 days, OR opened in the last 60 days and clicked ever, OR opened in the last 60 days and added in the last 120 days, OR added in the last 15 days.
Notice the daily windows aren't the weekly ones scaled down. A daily sender's new subscribers get 15 sends with no activity required, while a weekly sender's get about 13. The send counts land close together even though the day values are far apart.
One rule holds regardless of cadence: the grace window must be longer than the new-subscriber window. If it isn't, branch 3 adds nobody that branch 4 didn't already cover.
Paste one prompt and let the AI ask the questions
You need an AI assistant with the beehiiv MCP connected. Then paste this, with the link to this page:
Read this guide and follow the "Instructions for the AI assistant" section exactly: https://www.audiencebridge.io/p/creating-a-base-sending-segment-using-the-beehiiv-mcp
Then create a Base Sending Segment for my beehiiv publication. Ask me one question at a time, using tappable options where you can. Don't create anything until I've confirmed the final settings.Don't type "create a Base Sending Segment" without the link. The BSS is an Audience Bridge framework, not a beehiiv feature. Your AI doesn't know what it is. Without this page it will guess, and the most likely guess is an open-based engaged segment. That's the exact thing you're trying to replace.
Instructions for the AI assistant
If you are an AI assistant reading this page, follow these steps in order. Ask the user one question at a time. Never invent a window value. Every number in the segment comes from the user or from a default printed on this page.
How to ask questions
If your interface offers tappable options or buttons for questions, use them for every question that has a short set of answers. Many readers are on their phones. If it doesn't, ask in plain text and number the options.
Ask one question per message. Wait for the answer before moving on.
Put the recommended option first and mark it "(Recommended)".
Always include a "Something else" option so the user can type their own value.
Use at most 4 options. If there are more choices than that (for example, more than 4 publications), list them in text instead.
Open-ended number questions still get buttons: offer the recommended value and "Something else."
Step 1: Find the publication
Call list_publications. Ask the user which publication the segment is for, even if there's only one. If the publication uses newsletter lists, ask whether the segment covers the whole publication or one list.
Step 2: Check what's already there
Call list_segments and get_segment on anything that looks like a current sending or engaged segment. Show the user its conditions in plain language. If opens alone qualify someone in it, say so: that's opener bloat. If more than one segment looks like the current sending segment, ask which one to compare against in Step 8, with the candidates as options. Do not edit or delete any existing segment. The BSS is always created as a new segment.
Step 3: Get the sending cadence
Ask: "How many emails do you send per week to this audience?"
Then check it. Pull the last 30 days of sent posts and compare. If the real cadence differs from the answer, show both numbers and ask which to use, with both numbers as options. Every window depends on this number.
Step 4: Ask for each window in sends
Ask these four questions, one at a time, in this order. After each answer, convert to days with: days = sends ÷ sends per week × 7, rounded to the nearest whole day. Tell the user the day value before moving on.
# | Window | Ask the user |
|---|---|---|
1 | Click window | "After how many sends in a row with no click should someone who used to click stop receiving your emails?" |
2 | Open window | "How many sends back should an open still count? Opens older than that are ignored." |
3 | Grace window | "For how many sends should a new subscriber stay on the list with opens alone, before they need a click?" |
4 | New-subscriber window | "For how many sends should a brand-new subscriber get your emails no matter what they do?" |
With each window question, offer the starting value for the user's cadence from the "Starting windows by cadence" table as the recommended option, in sends and in days, plus "Something else." Include the one-sentence tradeoff: a longer window sends to more people and lowers density; a shorter one sends to fewer and raises it. If they send once a week or daily, use that column. If their cadence falls between the two, don't recommend a value. Show both columns, say neither was built for their cadence, and ask them to pick. Don't interpolate a number yourself.
Run these checks before moving on:
The grace window must be longer than the new-subscriber window. If it isn't, branch 3 does nothing. Tell the user and ask them to change one.
If the open window is longer than the click window, point it out and ask whether that's intended.
Step 5: Confirm the click signal
Call get_segment_schema. If verified_unique_clicks is listed, use it for branches 1 and 2. Tell the user you're using verified (bot-filtered) clicks and why.
If it isn't available, stop. Tell the user raw clicks include scanner traffic, and ask before falling back to unique_clicks.
Step 6: Confirm before building
Show one summary: the publication, the cadence, each window in sends and in days, the click signal, and the segment name. Name it Base Sending Segment (BSS) - C/O/G/N using the day values. Ask for confirmation with the options "Build it" and "Change a setting." Build only after the user says yes.
Step 7: Build it
Call save_segment with segment_type set to dynamic. Use this where clause, replacing C, O, G and N with the day values for the click, open, grace and new-subscriber windows:
verified_unique_clicks(within: 'C days') > 0 AND status = 'active'
OR unique_opens(within: 'O days') > 0 AND verified_unique_clicks > 0 AND status = 'active'
OR unique_opens(within: 'O days') > 0 AND signup_date >= NOW() - INTERVAL 'G days' AND status = 'active'
OR signup_date >= NOW() - INTERVAL 'N days' AND status = 'active'Send it as a single line. Three things to know about the beehiiv DSL:
It rejects nested groups. That's why
status = 'active'repeats inside every branch instead of wrapping the whole clause in parentheses.AND binds tighter than OR, so the clause reads as four branches with no parentheses needed.
beehiiv may rewrite day values as months (120 days becomes 4 months). Tell the user if it does. The drift is a day or two at the edges.
Step 8: Verify and report
Poll get_segment until its status is completed. Then:
Report the member count. If there was an existing engaged segment in Step 2, report its count too. The difference is the user's ghost count: subscribers the old segment kept that the BSS doesn't.
Tell the user to spot-check one long-tenured clicker in the beehiiv editor.
verified_unique_clickswith no window should mean lifetime. Confirm it doesn't default to a shorter lookback.Offer to calculate engaged audience density: 30-day verified clickers ÷ BSS size. That needs a temporary segment for the 30-day clickers, so ask before creating it, with the options "Create the density segment" and "Skip."
Do not attach the segment to any post, template or automation. The user decides when to start sending to it.
Your BSS is a dial, so start turning it
The segment will be smaller than your old one. That's the point. Density beats size. The subscribers you just stopped mailing were dragging down the numbers mailbox providers read before they read a word of your content.
Don't treat the member count as the result, though. Interrogate it. If your BSS came out barely smaller than your old engaged segment, check whether it's really running on verified clicks. If it came out drastically smaller, check your windows against your cadence before you panic. The question is whether the number makes sense for how often you send.
Monday morning:
Write down your ghost count and your BSS size. That's your baseline.
Point your next send at the BSS instead of your old segment.
Watch placement and verified clicks for the next several sends.
When Postmaster signals turn, tighten the windows. When they recover, loosen them.
P.S. Setting the windows is the part most operators get wrong, because it depends on your cadence and your list. If you want a second set of eyes on yours, book a call and we'll walk through it together.


