Bot Protection

OptiPub offers two separate bot protections that solve different problems and work independently:

ProtectionWhat it protectsOn/off?
Form Bot ProtectionYour signup formsOptional. You enable or disable it, and tune its sensitivity, on the Bot Protection settings page. Runs an invisible, score-based reCAPTCHA check before a form submission is accepted.
Email Engagement Bot ProtectionYour open/click data and automationsAlways on. Every email open and click is automatically classified as Human, Bot, or MPP. You choose how to put those labels to work in reporting, segments, and funnels.

These are distinct features. Form Bot Protection stops bots from signing up and is something you turn on and configure. Email Engagement Bot Protection identifies non-human activity after an email is sent and runs automatically — there is nothing to switch on for it.


Form Bot Protection

Form Bot Protection guards your subscriber list against automated signups by challenging visitors before their submission is accepted.

Navigate to Settings → Bot Protection

Toggle Protect all signup forms from bot signups with Google reCAPTCHA on to run a reCAPTCHA check on signup form submissions. Protection is applied automatically to your signup forms — no per-form configuration is needed. See Forms for how this behaves on the optipub-form element.

OptiPub uses Google reCAPTCHA Enterprise in its invisible, score-based mode: there is no checkbox or image challenge for the visitor. reCAPTCHA scores each submission from 0.0 (most likely a bot) to 1.0 (most likely human), and OptiPub accepts or rejects the submission based on your threshold.

When form protection is enabled, a Bot Protection Threshold slider appears:

SettingRangeBehavior
Bot Protection Threshold01 (step 0.1)The minimum reCAPTCHA score a visitor must reach to have their submission accepted. A lower threshold lets more visitors through (fewer false positives, more bots). A higher threshold is stricter (fewer bots, more false positives).

We recommend a minimum threshold of 0.5.

This protection has no effect on open/click reporting, segments, or funnels — it only governs whether a signup form submission is accepted.


Email Engagement Bot Protection

Automated traffic — security scanners, link checkers, mailbox prefetchers, and privacy proxies — can inflate your open and click numbers and trigger automations that were meant for real people. Email Engagement Bot Protection detects this non-human activity, labels every open and click, and makes those labels available throughout reporting, segmentation, and funnels.

Always-On Detection

Email bot detection is always on. Every open and click OptiPub tracks is automatically evaluated and labeled Human, Bot, or MPP — there is nothing to switch on and no ruleset to configure. Detection runs in OptiPub's mail tracking layer as events are received.

What you control is how you use those labels:

  • Reporting — human/bot/MPP breakdowns appear automatically on every message report.
  • Segmentation — opt in per rule with the Human / Bot toggles on Message Opens and Message Clicks rules.
  • Funnels & automations — non-human interactions are automatically suppressed, so bots and privacy proxies never trigger your automations.

How Classification Works

Every tracked open and click is evaluated and given one of three labels:

LabelWhat it means
HumanA genuine subscriber interaction. Not flagged as a bot or a privacy/preload proxy.
BotAutomated activity — security tools, link scanners, or other traffic that detection flags as non-human.
MPPAn open triggered by Apple Mail Privacy Protection or a similar preloading proxy. MPP applies to opens only; clicks are never labeled MPP.

Classification happens in OptiPub's mail tracking layer as events are received. The labels are then attached to each open/click and carried through every downstream feature.

flowchart LR
    A[Subscriber mailbox / proxy / bot] -->|open or click| B[Mail tracking layer]
    B -->|classify| C{Label}
    C -->|Human| D[Reporting + Segments + Funnels]
    C -->|Bot| E[Reporting + Segments, no funnels]
    C -->|MPP open| F[Reporting + activity timestamp, no funnels]

OptiPub records a label on each open and click as events arrive:

  • Opens can be labeled Human, Bot, or MPP.
  • Clicks can be labeled Human or Bot. Clicks are never MPP.
  • Duplicate events (the same subscriber opening or clicking the same message again) are tracked but do not re-count toward unique metrics or re-trigger funnels.

These labels are stored alongside the raw engagement data and are used everywhere the metrics surface.

Reporting on Human, Bot, and MPP

Message reports break engagement down by label so you can see true human performance separately from automated noise. On a message's Overview, the Engagement group includes:

MetricWhat it counts
OpensAll unique opens — human, bot, and MPP combined.
Human OpensUnique opens not flagged as bot or MPP.
Bot OpensUnique opens flagged as bot activity.
MPP OpensOpens triggered by Apple Mail Privacy Protection or similar preloading proxies.
ClicksAll unique clicks. The percentage shown is the click-to-open rate (CTOR).
Human ClicksUnique clicks not flagged as bot activity.
Bot ClicksUnique clicks flagged as bot activity (security tools, link checkers).
ClickersDistinct subscribers who clicked at least one tracked link.
Human Clickers / Bot ClickersThe distinct-subscriber equivalents, split by label.

For gauging real engagement in reporting, use Human Opens + MPP Opens together as your open source of truth and Human Clicks as your click source of truth. An MPP open may be a genuine human open or an automated Apple Mail prefetch — you can't tell which — so for measuring reach it's safest to include it and exclude only Bot Opens. Because that ambiguity cuts both ways, OptiPub treats MPP differently in other contexts (see segmentation and funnels below), where it is excluded from human-only filters and does not trigger automations. The combined Opens total additionally includes bot activity.

Segmenting on Human vs. Bot

The Message Opens and Message Clicks rules in the dynamic segment and funnel query builder let you target subscribers by engagement label using two toggles:

ToggleEffect
HumanInclude engagements labeled Human.
BotInclude engagements labeled Bot.

Both toggles are on by default, so a new rule counts all engagement. To build a human-only segment, leave Human on and turn Bot off. To find subscribers whose activity is driven by bots, do the reverse. At least one toggle must always be selected — turning both off is not allowed.

Engagements flagged by detection are labeled Bot; everything else is labeled Human.

These toggles work with both query modes of the Message Opens / Message Clicks rules:

  • Total — count of opens/clicks over a time window (e.g. more than 2 human opens in the last 30 days).
  • Opened / Clicked Message — whether the subscriber engaged with a specific message (and, for clicks, an optional specific link).

MPP opens are treated as non-human, so they are excluded when you filter a rule to Human. MPP is surfaced primarily as its own breakdown in message reporting.

How Funnels and Automations Suppress Non-Human Interactions

Funnels and automations only react to real people. When classification flags an interaction as non-human, OptiPub does not fire the corresponding funnel event:

EventBotMPPFires funnel event?
Opened EmailNoNo✅ Yes (human open)
Opened EmailYes❌ No (bot open)
Opened EmailYes❌ No (MPP open)
Clicked EmailNon/a✅ Yes (human click)
Clicked EmailYesn/a❌ No (bot click)

This means a bot scanning your links or Apple Mail preloading your images will not advance a subscriber through an Opened Email or Clicked Email funnel step, tag them, or trigger any downstream automation tied to those events.

Two important nuances:

  • MPP opens still count as activity. Because Apple Mail Privacy Protection can mask a genuine human open, an MPP open still updates the subscriber's last-opened timestamp. This keeps real Apple Mail readers from being pruned by inactivity-based funnels, even though the MPP open itself does not trigger open funnel events. Bot opens and clicks do not update activity timestamps.
  • Duplicate events never re-trigger funnels. Only the first unique human open or click for a given message advances a funnel.

Bot and MPP interactions are always recorded in the subscriber's history (with their labels) for reporting — suppression only applies to funnel/automation triggers, not to the underlying record.