Aller au contenu
NouveauDécouvrir comment
Correction

Open tracking no longer errors on unusual requests

Malformed or unusual requests to the open tracking endpoint returned errors and could distort your open figures. They are now handled quietly and counted correctly.

The endpoint that records email opens now handles unusual requests without erroring. Odd requests used to produce failures and, occasionally, wrong figures.

What changed

An email open is recorded by a small invisible image. When someone's mail client loads that image, the request tells us the message was opened.

Not every request that arrives is a person opening an email. Security scanners fetch every link and image in a message before it reaches the inbox. Preview services load images to build a thumbnail. Bots crawl anything they can reach. Some of these send requests that are malformed, truncated, or missing pieces the endpoint expected.

Those requests produced errors. The errors filled logs, and in some cases a request that should have counted as an open was rejected while a request from a scanner was counted.

The endpoint now validates what it receives before acting on it. A request it cannot make sense of is acknowledged and ignored. A request it can is recorded once against the right message.

Why it matters

Open rates are one of the few early signals available. Replies take days. Opens arrive within hours, and they are usually what tells you a subject line is working before anything else can.

A distorted open rate misleads in whichever direction it is distorted. Inflated by scanner traffic, it suggests a subject line is working when nobody has read it. Deflated by rejected requests, it suggests the opposite.

Either way the response is wrong. Changing a subject line that was fine, or keeping one that was not, both cost a campaign more than the measurement error itself.

What open tracking can and cannot tell you

It cannot be exact, and no email product's can. Mail clients that block images record no open at all, and a great many people have them blocked. Privacy features on some platforms load every image regardless, producing an open for a message nobody looked at.

What it is good for is comparison. If two subject lines go to similar lists through the same mailbox in the same week, the difference between their open rates means something even though neither number is precisely true.

Treat the absolute figure with suspicion and the relative difference as real. That is the only reading of open data that holds up.

How to use it

Nothing to do. The handling applies to all tracked messages.

Open figures appear in campaign analytics as before. What changed is that fewer of them are wrong.

If you compare periods either side of this change, expect a small difference in reported opens. The newer figures are the more accurate ones.

Scanners and repeated opens

Corporate mail security fetches everything in a message before delivery, which means an open can be recorded before the recipient has seen it. There is no reliable way to distinguish that fetch from a person, and any product claiming otherwise is guessing.

Repeated opens from the same recipient are counted once for the open rate and separately for total opens. The distinction matters: a message opened six times by one person is a stronger signal than one opened once by six, and collapsing them would lose that.

The most reliable reading is the trend across a campaign rather than any single figure. Scanner noise is roughly constant, so it affects the level but not the shape.

Errors and logs

Malformed requests are no longer logged as errors, because they were never errors. They were ordinary internet traffic hitting a public endpoint.

That matters beyond tidiness. A log full of harmless failures is a log nobody reads, and it hides the failures that do need attention. Removing the noise makes the remaining entries worth looking at.

Where open rates fit against everything else

Opens are the earliest signal and the least reliable one. Replies are the latest and the most reliable. Clicks sit between them, both in timing and in trustworthiness.

The right use of an open rate is as an early warning rather than a verdict. A subject line whose opens collapse relative to your others is worth investigating on day one rather than waiting a week for the reply data to confirm it.

What an open rate should never do is decide anything on its own. A campaign with excellent opens and no replies has a body problem, and the opens will happily tell you everything is fine right up until you look at the replies.

Blocked images

A recipient with images blocked never registers an open, however carefully they read the message. That is a real portion of any list and it is not measurable, which sets a ceiling on how high an open rate can ever go.

It also means open rate varies by audience in ways that have nothing to do with your emails. Technical audiences block images far more than others, so an identical campaign to two different segments produces different open rates for reasons of habit rather than interest.

Compare like with like. An open rate is only meaningful against another open rate from a similar list.

What we do not track

There is no tracking of what a recipient does after they leave the email, and no attempt to identify a person across other sites. The tracking pixel records that a message was opened and nothing else about the person who opened it.

Open tracking can be switched off per campaign if you would rather not use it at all. Some audiences react badly to it, and some regulatory situations make it easier to avoid. A campaign with tracking off loses its open figures and keeps everything else, including reply detection, which does not depend on it.

Availability of the underlying data

Every recorded open is stored against the message and the lead, so a campaign's figure can be traced back to individual events rather than existing only as a percentage.

That matters when a number looks wrong. Being able to see that four hundred opens came from twelve recipients tells you immediately that something automated is loading images, which a percentage never would.

Availability

Live now on all plans for all tracked campaigns. No configuration required.

Toutes les nouveautés

Une prospection qui continue quand vous vous déconnectez.Leads, emails, relances et réponses, gérés.

Connectez des boîtes illimitées et laissez les agents IA trouver les leads, écrire chaque email et relancer. Ou envoyez vos propres modèles en mode manuel. À partir de $29/mois.

$1 pour 3 jours · Annulez quand vous voulez · Sans engagement

Installer avec l'IA

Votre agent de code installe la CLI et les skills FirstSales pour vous.

Prompt pour Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.