What's inside the newsletter from Farmfoods
- Sender
- csteam@farmfoods.co.uk
- Sending platform
- MailerLite
- Sector
- Food
- Emails read
- 65 campaigns, 2 transactional
- Period
- August – October 2026
Our address was subscribed in August 2026, after the CNIL recommendation was published (April 14, 2026).
Overall scoreThe main finding
An open-tracking pixel is present on the last 3 campaigns.
It is the first of 13 points to fix. The highest score is deliverability (82/100), the lowest compliance (36/100), better than 38% of the 503 brands measured.
One email when a criterion changes state: the Pro version, in early access.
Share
Share this report
August – October 2026 · calculated on 24 October
13 points to fix
Each line leads to the criterion in its family, with the excerpt that establishes it and how to fix it.
-
Priority
An open-tracking pixel is present
Criterion “No open-tracking pixel”
Compliance
on the last 3 campaigns
−30 pts
out of 30 in
Compliance
<img src="https://lqavbqm.clicks.mlsend.com/gr/o/***" width="1" height="1" alt=…
Open tracking is turned off in the tracking settings, at the campaign or account level.
-
To review
No separate path to refuse tracking
Criterion “The recipient keeps control over tracking”
Compliance
measured on 64 campaigns
−19.2 pts
out of 20 in
Compliance
A path separate from the unsubscribe link leads to a preference centre where the recipient can refuse tracking (opens, clicks) without unsubscribing.
-
To review
The template is nested beyond the threshold
Criterion “A shallow template”
Technical
measured on 64 campaigns
−15.3 pts
out of 20 in
Technical
Flatten the template: one content block per table, placed directly in the main column, with no wrapper table around each section.
- To review The published DMARC policy keeps out no impersonation Criterion “DMARC policy that helps keep out some impersonation” Deliverability on all 64 campaigns −15 pts out of 15 in Deliverability
- To review Some links become invisible when images are blocked Criterion “All links stay visible with images blocked” Experience on 54 of the 64 campaigns −12.7 pts out of 15 in Experience
- To review Preheader missing, too short or too long Criterion “The message makes sense without its images, from the inbox on” Experience measured on 64 campaigns −12.5 pts out of 25 in Experience
- To review The message puts obstacles in the way of assistive technology Criterion “The message stays readable with assistive technology” Experience measured on 64 campaigns −11.2 pts out of 20 in Experience
- To review No untracked path leads to the site Criterion “An untracked path leads to the site” Compliance on all 64 campaigns −10 pts out of 10 in Compliance
- To review A remote stylesheet is called Criterion “No remote stylesheet” Technical on all 64 campaigns −10 pts out of 10 in Technical
- Secondary The text version carries less than 80% of the links Criterion “The message can be rendered outside HTML” Experience measured on 64 campaigns −5 pts out of 15 in Experience
- Secondary No link leads to the privacy policy Criterion “The message says who is writing and under which rules” Compliance measured on 64 campaigns −5 pts out of 15 in Compliance
- Secondary Some links lead nowhere Criterion “Every link leads somewhere” Technical on 15 of the 64 campaigns −2.3 pts out of 10 in Technical
- Secondary The DKIM signature leaves part of the message uncovered Criterion “A DKIM signature that covers what matters” Deliverability measured on 64 campaigns −0.2 pts out of 5 in Deliverability
11 criteria met, including « Unsubscribing is possible and announced » and « DKIM signature validated ». They are listed in their family, below.
Every send, at the time it arrived
One dot per message received by our subscription since August. Tap a dot to open it; the arrows move from one send to the next.
Technical reading of the send of Oct. 23, 2026 →
- campaigns in 11 weeks
- 65
- about 5.9 a week, from August to October
- every day of the week
- 7 days a week
- 6 to 11 campaigns depending on the day
- favourite sending hour
- 14 h
- 42% of campaigns arrive between 14:00 and 15:00
- last send received
- 24 Oct.
- « ❗5 Day Specials❗29W Lenor Midsummer Fabric Conditioner £1.29… »
Campaign 1 of 65
Tuesday 11 Aug., 14:49
🐾❗All Things Pet At Farmfoods❗🐾
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 2 of 65
Wednesday 12 Aug., 15:20
❗3 Pack Dettol Soap 49p❗10pk Mini Twisters £1.99 and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 3 of 65
Friday 14 Aug., 15:27
❗340g Princes Corned Beef £2.49❗Huge One Pizzas £2.99, and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 4 of 65
Monday 17 Aug., 15:39
❗20pk Walkers Box £3.49❗1kg Seara Breaded Tenders £4.99 and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 5 of 65
Wednesday 19 Aug., 15:47
❗4pk Cadbury Fudge 79p❗10pk Quaker 99p❗and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 6 of 65
Friday 21 Aug., 15:53
❗100pk Finish Quantum £7.99❗Farmfoods Ready Meals 99p and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 7 of 65
Saturday 22 Aug., 13:37
❗5 Day Special❗200g Willow Butter 39p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 8 of 65
Sunday 23 Aug., 13:39
❗5 Day Special❗4pk Kellogg's Oaties 49p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 9 of 65
Monday 24 Aug., 15:28
❗50ml Dove Roll On 49p❗450g Diced Steak £4.99 and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 10 of 65
Tuesday 25 Aug., 16:44
❗415g Heinz Beanz 49p❗34w Persil Heaven Scent Pods £4.99 and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 11 of 65
Wednesday 26 Aug., 16:13
❗24pk Fruit Shoot £4.99❗900g Farmfoods Cheese Range £4.99 each and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 12 of 65
Friday 28 Aug., 15:43
❗400pk PG Tips £5.99❗800g Monkfish and 700g Seabass Fillets 2 for £15 and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 13 of 65
Saturday 29 Aug., 14:45
❗5 Day Special 60pk Huggies Wipes 49p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 14 of 65
Sunday 30 Aug., 14:37
❗5 Day Special 397g Carnation Condensed Milk 49p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 15 of 65
Tuesday 1 Sept., 14:55
❗300g Aunt Bessie's Chocolate Toffee Sponge 59p❗160g Osprey Tuna 39p ❗All things 99p!❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 16 of 65
Wednesday 2 Sept., 14:48
❗24pk Lucozade Orange/ Original £6.99❗2pk Pukka Pie Range 3 for £5 and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 17 of 65
Friday 4 Sept., 15:25
❗50ml Mi-Stylo Fragrances £1.99❗100g Toblerone 99p❗and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 18 of 65
Saturday 5 Sept., 13:35
❗250ml UFIT Protein Shakes 49p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 19 of 65
Sunday 6 Sept., 13:36
❗390g Branston Macaroni Cheese 49p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 20 of 65
Monday 7 Sept., 15:19
❗8pk Tango Blue Raspberry Triangles 99p❗410g Riverdene Tinned Apricots 19p❗and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 21 of 65
Wednesday 9 Sept., 14:38
❗400g Birds Eye Vegetable Pasta 49p❗75ml Dove Rich Moisture Cream 49p❗and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 22 of 65
Thursday 10 Sept., 14:43
❗🐾All Things Pet at Farmfoods🐾❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 23 of 65
Friday 11 Sept., 14:35
❗2pk Birds Eye Mexican Fish 49p❗75ml John Frieda Hairy Spray Intense 99p❗and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 24 of 65
Saturday 12 Sept., 13:36
❗320ml Fairy Washing Up Liquid 69p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 25 of 65
Sunday 13 Sept., 13:51
❗3pk Vaseline Soap 59p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 26 of 65
Monday 14 Sept., 15:49
❗8pk Kellogg's Chocolate Orange Pop Tarts ❗90g Aero Blocks 99p and much more in store
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 27 of 65
Tuesday 15 Sept., 14:54
❗5 Day Special❗300g Nescafe Original/Decaf £4.99 Each❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 28 of 65
Wednesday 16 Sept., 16:11
❗40g Goodwins Pepper Grinder 29p ❗375g Weetos Stars 99p ❗and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 29 of 65
Thursday 17 Sept., 14:55
❗5 Day Special❗270ml Elmlea Double 99p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 30 of 65
Friday 18 Sept., 14:56
❗750ml Fabulosa Range 49p ❗200g Tomato Paste 49p❗ and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 31 of 65
Saturday 19 Sept., 14:36
❗5 Day Special❗72w Bold Spring Awakening Powder £7.99❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 32 of 65
Sunday 20 Sept., 14:37
❗5 Day Special❗13 Bernard Matthews Mini Kievs 99p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 33 of 65
Monday 21 Sept., 14:56
❗80pk Pedigree Pouch £14.99❗400g Farmfoods Cheddar £4.99 and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 34 of 65
Tuesday 22 Sept., 13:55
❗5 Day Special❗285g Batchelors Button/Sliced Mushrooms 39p Each❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 35 of 65
Wednesday 23 Sept., 14:38
❗6pk Princes Tuna £3.99❗1kg Seara Chicken Tenders £3.99 and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 36 of 65
Friday 25 Sept., 14:55
❗400g Batchelors Potatoes 39p❗and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 37 of 65
Saturday 26 Sept., 13:37
❗5 Day Special❗85W Bold & Fairy Non Bio Pods £13.99 Each❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 38 of 65
Sunday 27 Sept., 13:38
❗5 Day Special❗80pk Whiskas £14.99 Each❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 39 of 65
Monday 28 Sept., 14:39
❗16pk Shredded Wheat 99p❗390g Nestle Shreddies 99p❗ and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 40 of 65
Tuesday 29 Sept., 15:01
❗155g Lenor Scent Boosters £1.99❗10pk Gillette £18.99❗500ml Bath Soak 69p❗and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 41 of 65
Wednesday 30 Sept., 15:16
❗5 Day Special❗190g Nescafe Gold Blend/Alta Rica £4.99 Each❗and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 42 of 65
Thursday 1 Oct., 14:43
❗80pk Whiskas £14.99❗80pk Pedigree Pouch £19.99 ❗and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 43 of 65
Friday 2 Oct., 15:14
❗18pk Pepsi Max Tropical £3.99 ❗1.2kg Cooked Chicken Range £6.99 each and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 44 of 65
Saturday 3 Oct., 13:37
❗5 Day Special❗8pk Wikinger Hot Dogs 99p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 45 of 65
Sunday 4 Oct., 13:36
❗5 Day Special❗160 PG Tips £2.49❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 46 of 65
Monday 5 Oct., 14:47
❗400g Ambrosia Custard/Rice Pudding 49p each❗450ml Domestos Power Foam 99p❗and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 47 of 65
Tuesday 6 Oct., 14:17
❗5 Day Specials❗500g Anna Passata 29p❗125g Pears Soap 59p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 48 of 65
Wednesday 7 Oct., 14:55
❗10pk Peperami Minis 99p❗250ml Carex Handwash 49p❗and much more in store!
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 49 of 65
Thursday 8 Oct., 14:29
❗5 Day Specials❗24pk Pepsi Max £6.99❗75ml Colgate 59p❗
- Type
- Marketing campaign
- Score
- 58 / 100
- Pixel
- Present, detected by its size
Campaign 50 of 65
Friday 9 Oct., 13:33
❗4pk Snickers 99p❗100ml Vaseline 49p❗and much more in store!
- Type
- Marketing campaign
- Score
- 59 / 100
- Pixel
- Present, detected by its size
Campaign 51 of 65
Saturday 10 Oct., 13:19
❗5 Day Specials❗10kg Badshah Rice £8.99❗1.5kg Homepride Flour 49p❗
- Type
- Marketing campaign
- Score
- 62 / 100
- Pixel
- Present, detected by its size
● Change observed on this send, confirmed by the following ones.
Campaign 52 of 65
Sunday 11 Oct., 13:14
❗5 Day Specials❗325g Askey's Treat Sauces 49p❗300ml Safaa Air Freshener £1.99❗
- Type
- Marketing campaign
- Score
- 62 / 100
- Pixel
- Present, detected by its size
Campaign 53 of 65
Monday 12 Oct., 14:34
❗1kg Kellogg's Crunchy Nut £3.99❗1kg Kellogg's Corn Flakes £2.99❗200g PEK Luncheon Meat 49p❗and much more in store!
- Type
- Marketing campaign
- Score
- 59 / 100
- Pixel
- Present, detected by its size
Campaign 54 of 65
Tuesday 13 Oct., 13:59
❗5 Day Specials❗140g Nescafe Azera £3.99❗300g Rodina Carrots 19p❗10pk Peperami Mix £1.99❗
- Type
- Marketing campaign
- Score
- 62 / 100
- Pixel
- Present, detected by its size
Campaign 55 of 65
Wednesday 14 Oct., 13:59
❗190g McMAC's Cheesy Macaroni 49p❗330ml Fuel Breakfast Drink Range 49p each❗and much more in store!
- Type
- Marketing campaign
- Score
- 62 / 100
- Pixel
- Present, detected by its size
Campaign 56 of 65
Thursday 15 Oct., 14:01
❗5 Day Specials❗19W Bold Pods £2.99❗90g Pot Noodle Range 59p each❗
- Type
- Marketing campaign
- Score
- 65 / 100
- Pixel
- Present, detected by its size
Campaign 57 of 65
Friday 16 Oct., 15:27
❗30pk Nescafe Pods £4.99 each❗180g Cadbury Dairy Milk £1.49❗and much more in store!
- Type
- Marketing campaign
- Score
- 59 / 100
- Pixel
- Present, detected by its size
Campaign 58 of 65
Saturday 17 Oct., 12:09
❗24pk Rubicon Sparkling Mango £6.99❗250g Bird's Original Custard 99p❗14pk Cadbury Flake 99 £1.99❗
- Type
- Marketing campaign
- Score
- 65 / 100
- Pixel
- Present, detected by its size
Campaign 59 of 65
Sunday 18 Oct., 12:10
❗160g Chicken Pringles £1 ❗1kg Seara Nuggets £1.99❗and much more in store!
- Type
- Marketing campaign
- Score
- 62 / 100
- Pixel
- Present, detected by its size
Campaign 60 of 65
Monday 19 Oct., 14:49
❗125W Daz Powder £9.99❗300g Cooked Chicken Range £1.99 each and much more in store!
- Type
- Marketing campaign
- Score
- 62 / 100
- Pixel
- Present, detected by its size
Campaign 61 of 65
Tuesday 20 Oct., 14:45
❗5 Day Specials❗12kg Winalot £12.99❗12pk Pedigree Cans £9.99 each❗20L Catsan £8.99❗and much more in store!
- Type
- Marketing campaign
- Score
- 62 / 100
- Pixel
- Present, detected by its size
Campaign 62 of 65
Wednesday 21 Oct., 14:42
❗6pk Milky Bar 99p❗114g Cadbury Chocolate Fingers 99p❗and much more in store!
- Type
- Marketing campaign
- Score
- 65 / 100
- Pixel
- Present, detected by its size
Campaign 63 of 65
Thursday 22 Oct., 12:20
❗5 Day Specials❗185g Pringles Original/Sour Cream & Onion £1.25 each❗145g Farmfoods Tuna 49p each❗
- Type
- Marketing campaign
- Score
- 62 / 100
- Pixel
- Present, detected by its size
Campaign 64 of 65
Friday 23 Oct., 13:45
❗4pk Cadbury Kids Range 79p each❗450ml Dove Bath Range £1.49 each❗and much more in store!
- Type
- Marketing campaign
- Score
- 62 / 100
- Pixel
- Present, detected by its size
Campaign 65 of 65
Saturday 24 Oct., 12:07
❗5 Day Specials❗29W Lenor Midsummer Fabric Conditioner £1.29❗32W Bold Midsummer Gel £2.99❗500ml Moss & Adams Handwash 99p each❗
- Type
- Marketing campaign
- Score
- analysis in progress
- Pixel
- —
Sending day
- Mon.
- Tue.
- Wed.
- Thu.
- Fri.
- Sat.
- Sun.
Arrival time
1 change observed since August
Each campaign is compared with the previous one, criterion by criterion.
The detail of this change, criterion by criterion, is reserved for the Pro version.
confirmed by the next campaign · the per-send score goes from 58 to 62
Criteria in detail
The 24 criteria + 1 bonus
Compliance
These checks cover what the send imposes on the recipient and what it leaves them: measurement of their behaviour, ways to leave, tracking of their objection.
The calculation · 36 pts out of 100
2 met · 2 partly met · 2 not met
Weight of each criterion in the score.
No open-tracking pixel Not met Open-tracking pixel detected on the last 3 campaigns 0/30 pts
0 points out of 30 — met on 0 of the last 3 campaigns.
An invisible image tells the sending platform that the message was opened, when, and from which device: this is individual tracking of reading behavior, and the recipient sees none of it. The message does not say whether they consented or objected — that choice lives in the sending platform, not in the email.
Served from mlsend.com.
The excerpt that establishes it
<img src="https://lqavbqm.clicks.mlsend.com/gr/o/***" width="1" height="1" alt="" style="display:block;height:0px;width:0px;max-width:0px;max-height:0px;overflow:hidden;" border="0">
How to fix it
Open tracking is turned off in the tracking settings, at the campaign or account level. Look for “open tracking”.
Turning it off loses the open rate — a measure already largely distorted by mailbox privacy protections, which preload images — and changes nothing about the click rate.
Met when no tracking pixel is present. A single pixel is enough for the criterion not to be met on an email.
- CNIL 14/04/2026 · LIL art. 82
- PM-PRIV-001
- The detection rule
Unsubscribing is possible and announced Met Unsubscribing is announced, in the header and in the body on 64 campaigns 15 pts
15 points out of 15 — share of observations met across 64 campaigns.
Met when the message announces unsubscribing in its headers, through a page rather than an email to write, and in its body. The detail says which of the two is missing. Not applicable to a transactional email.
What was measured — 2 met out of 2
- Unsubscribe announced in the header, through a page on 64 campaigns Met
- Unsubscribe link in the body on 64 campaigns Met
- RFC 2369
- PM-PRIV-002
- RFC 2369 — The Use of URLs as Meta-Syntax for Core Mail List Commands
The recipient keeps control over tracking Partly met The recipient has no control over tracking — none of the 2 measures is met across all 64 campaigns 0.8/20 pts
0.8 points out of 20 — share of observations met across 64 campaigns.
How to fix it
A path separate from the unsubscribe link leads to a preference centre where the recipient can refuse tracking (opens, clicks) without unsubscribing. Most email platforms offer this page; otherwise it goes in the template footer, with its own link, named for what it does (“manage my preferences”, “refuse tracking”).
The page takes an afternoon to set up and then serves every send. It is what the CNIL recommendation expects from an email that measures how its readers behave.
Two measures: does the unsubscribe link go through a tracker, and does a separate path lead to a preference center or to refusing tracking? Neither establishes that a refusal succeeds — checking would require following the link, which would record a click on the sending platform's side. They describe the control left to the recipient, not the result they would get.
What was measured — 0 met out of 2
- Tracked unsubscribe link (59 of 64 campaigns concerned) Partly met
- No separate path to refuse tracking on the 64 campaigns concerned Not met
- CNIL 14/04/2026 · Postmetry
- PM-PRIV-003
The message says who is writing and under which rules Partly met No link leads to the privacy policy on the 64 campaigns concerned (2 of 3 measures met) 10/15 pts
10 points out of 15 — share of observations met across 64 campaigns.
How to fix it
The footer of the message names the sender (company name, postal address) and links to its privacy policy with a direct link to the website, not through a tracking domain. These details go once into the base template and then appear in every send.
Nothing to lose: these lines already exist on the website; they only need to be carried over.
A commercial email must make it possible to identify the advertiser (CPCE, article L. 34-5), and the recipient must be able to know who processes their data. This indicator groups what a message can show of it.
What was measured — 2 met out of 3
- The message names its sender on 64 campaigns Met
- A reply to the message is possible on 64 campaigns Met
- No link leads to the privacy policy on the 64 campaigns concerned Not met
- CPCE L. 34-5 · directive 2000/31 art. 6 · CAN-SPAM
- PM-PRIV-004
An untracked path leads to the site Not met Every link to the site goes through a tracker on the 64 campaigns concerned 0/10 pts
0 points out of 10 — met on 0 of 64 campaigns concerned.
A recipient who simply wants to visit the site has no option but to go through the click counter.
How to fix it
At least one link in the message points directly to the brand's domain, without going through the platform's redirect domain: the logo, the legal notice or the privacy policy will do. In the editor this is set link by link (“do not track this link”, “disable click tracking”) or through an exclusion list in the account settings.
An untracked link does not count in measured clicks; choosing the logo or the footer takes nothing away from the clicks that matter.
Met when at least one link in the message leads to the brand's site without going through a click counter.
- Postmetry
- PM-PRIV-005
No recipient identifier in the message Met No recipient identifier in the message on 64 campaigns 10 pts
10 points out of 10 — met on 64 of 64 campaigns concerned.
Met when the recipient's address appears — neither in clear, nor encoded, nor hashed — in no URL and no proprietary header. Addressing headers do not count: they carry it by design.
- Postmetry · RGPD art. 4 en repère
- PM-PRIV-020
Deliverability
These checks read the authentication verdict set by our server when the message arrived. This verdict is dated by construction: we never recalculate it, which would query today's DNS rather than the DNS of the day the email was sent.
The calculation · 70 pts out of 85, scaled to 100
4 met · 1 partly met · 1 not met
Weight of each criterion in the score.
DKIM signature validated Met Valid DKIM signature on 64 campaigns 20 pts
20 points out of 20 — met on 64 of 64 campaigns concerned.
Met when our receiving server validated the DKIM signature of the email.
- RFC 6376 · RFC 8601
- PM-DELIV-001
- RFC 6376 — DomainKeys Identified Mail (DKIM) Signatures
- RFC 8601 — Message Header Field for Indicating Message Authentication Status
DMARC alignment validated Met DMARC alignment verified on 64 campaigns 20 pts
20 points out of 20 — met on 64 of 64 campaigns concerned.
Met when the domain shown in the sender matches the one that authenticated the message.
- RFC 9989
- PM-DELIV-002
- RFC 9989 — Domain-Based Message Authentication, Reporting, and Conformance (DMARC)
DMARC policy that helps keep out some impersonation Not met DMARC policy in observation only on the 64 campaigns concerned 0/15 pts
0 points out of 15 — met on 0 of 64 campaigns concerned.
How to fix it
A _dmarc.<domain> TXT record declares the policy: v=DMARC1; p=quarantine; rua=mailto:… at the very least, p=reject once the sending sources are aligned. The move happens in stages (p=none with reports, then quarantine, then reject) over a few weeks, reading the reports to find the tools that send on behalf of the domain.
A none policy prevents no spoofing of the domain; quarantine or reject closes the door and meets the Gmail and Yahoo requirements for bulk senders.
Met when the published policy is “reject” or “quarantine”. A “none” policy asks nothing of mail providers: it is published with no effect on messages that impersonate the domain.
- RFC 9989 §4.7
- PM-DELIV-003
- RFC 9989 — section 4.7, “p” tag
No SPF failure Met No SPF failure on 64 campaigns 10 pts
10 points out of 10 — met on 64 of 64 campaigns concerned.
Met when SPF does not fail. An SPF “none” alongside a valid DKIM and DMARC is a common and legitimate configuration: it is not penalized.
- RFC 7208
- PM-DELIV-004
- RFC 7208 — Sender Policy Framework (SPF) for Authorizing Use of Domains in Email
One-click unsubscribe, as defined by RFC 8058 Met One-click unsubscribe as defined by RFC 8058 on 64 campaigns 15 pts
15 points out of 15 — share of observations met across 64 campaigns.
Met when the “List-Unsubscribe” header carries an https address and “List-Unsubscribe-Post” is exactly “List-Unsubscribe=One-Click”. This is what Gmail and Yahoo require of bulk senders: the mailbox's button then acts without opening a page. Not applicable to a transactional email.
What was measured — 2 met out of 2
- The unsubscribe header carries an https address on 64 campaigns Met
- One-click unsubscribe announced on 64 campaigns Met
- RFC 8058 · Gmail et Yahoo
- PM-DELIV-005
A DKIM signature that covers what matters Partly met Some essential headers escape the signature (9 of 64 campaigns concerned) (2 of 3 measures met) 4.8/5 pts
4.8 points out of 5 — share of observations met across 64 campaigns.
How to fix it
The signature uses rsa-sha256 (or ed25519) with a 2048-bit key, without the l= tag (body length), and covers the From, Subject, Date and List-Unsubscribe headers in h=. These settings belong to the email platform or the SMTP server; the key is regenerated from the domain authentication page when it is too short.
A signature with l= or a 1024-bit key is still valid today, but it lets content be added after signing and will be refused by filters as they tighten.
What the signature covers, not only that it passes: an algorithm accepted by RFC 8301, the whole body signed, the From, Subject, Date and List-Unsubscribe headers signed, a signature not expired on receipt. Not applicable without a DKIM signature.
What was measured — 2 met out of 3
- Accepted signing algorithm on 64 campaigns Met
- Whole body signed on 64 campaigns Met
- Some essential headers escape the signature (9 of 64 campaigns concerned) Partly met
- Signature valid on receipt Not applicable
- RFC 6376 · RFC 8301
- PM-DELIV-006
Technical
These checks cover what email clients actually do with the message: truncation, style blocks removed, resources never loaded. Each threshold states where it comes from: the documented behaviour of an email client, a specification, or our own method.
The calculation · 57 pts out of 85, scaled to 100
3 met · 2 partly met · 1 not met
Weight of each criterion in the score.
HTML under Gmail's clipping threshold Met HTML under Gmail's clipping threshold on 64 campaigns 25 pts
25 points out of 25 — met on 64 of 64 campaigns concerned.
Met when the HTML part stays under 102 KB. Beyond that, Gmail cuts off the end of the message — and the end is where the unsubscribe link and the notices are.
- Gmail
- PM-TECH-001
A shallow template Partly met Layout tables nested beyond the threshold (49 of 64 campaigns concerned) (0 of 1 measures met) 4.7/20 pts
4.7 points out of 20 — share of observations met across 64 campaigns.
How to fix it
Flatten the template: one content block per table, placed directly in the main column, with no wrapper table around each section.
In a block-based editor, nesting usually comes from a section placed inside another, or a column inside a column. It is fixed once, in the template, not campaign by campaign.
The technical reading of the email gives the measured nesting and its threshold: it tells you when the fix has taken effect.
Met when layout tables are nested no more than 6 levels deep. Beyond that, the Word engine shared by desktop Outlook and the diverging clients each render the template their own way.
What was measured — 0 met out of 1
- Layout tables nested beyond the threshold (49 of 64 campaigns concerned) Partly met
- Postmetry
- PM-TECH-002
Well-formed HTML Met Well-formed HTML on 64 campaigns 15 pts
15 points out of 15 — share of observations met across 64 campaigns.
A doctype, a character set declared in the document, balanced tags and unique identifiers. Each client repairs incomplete markup its own way, which is what makes rendering unpredictable. End tags that HTML makes optional do not count.
What was measured — 4 met out of 4
- Doctype declared on 64 campaigns Met
- Character set declared in the HTML on 64 campaigns Met
- Balanced tags on 64 campaigns Met
- Unique identifiers on 64 campaigns Met
- WHATWG
- PM-TECH-030
Every link leads somewhere Partly met Some links lead nowhere (15 of 64 campaigns concerned) 7.7/10 pts
7.7 points out of 10 — met on 49 of 64 campaigns concerned.
How to fix it
Every link has an absolute https target; no href="#", no href="", no relative link and no mailto: without an address. Empty links most often come from a block copied from an earlier template, or from a button whose URL was never filled in in the editor.
An empty link loses the click and signals a message put together in a hurry; the fix is a review of the link list before sending, which most editors offer.
Met when no link is empty, reduced to “#” or written as “javascript:”. Such a link leads nowhere, and most clients neutralise it. Not applicable if the message contains no link.
- Postmetry
- PM-TECH-031
No remote stylesheet Not met Remote stylesheet declared on the 64 campaigns concerned 0/10 pts
0 points out of 10 — met on 0 of 64 campaigns concerned.
How to fix it
CSS rules go inside the message, in a <style> block or inline on the elements; no <link rel="stylesheet"> and no @import pointing to a server. Remote fonts are not counted here: most clients ignore them, but they break nothing.
Gmail, Outlook and most clients do not load a remote stylesheet: the message shows without its styles for most readers.
Met when the message calls no external stylesheet, through “link” or “@import”. Several clients never load them. A font stylesheet does not count: without it, the text falls back to another font.
- caniemail
- PM-TECH-020
- <link> in an email — support by client
The message follows the shape of an email Met The message follows the shape of an email on 64 campaigns 5 pts
5 points out of 5 — share of observations met across 64 campaigns.
Lines of 998 bytes at most, readable Message-ID and Date, a character set announced on every text part, a transfer encoding consistent with the content (RFC 5322, RFC 2045). Most servers tolerate these deviations, each in its own way.
What was measured — 5 met out of 5
- Lines of 998 bytes at most on 64 campaigns Met
- Well-formed Message-ID on 64 campaigns Met
- Readable date on 64 campaigns Met
- Character set announced on every text part on 64 campaigns Met
- Consistent transfer encoding on 64 campaigns Met
- RFC 5322 · RFC 2045
- PM-TECH-010
Experience
Four questions about what becomes of the message once received: does it stay understandable, can the recipient still act, can a client render it, can a screen display it. Automatic detection only covers what is declared in the message.
The calculation · 59 pts out of 100
2 met · 4 partly met · 1 bonus
Weight of each criterion in the score.
The message makes sense without its images, from the inbox on Partly met Preheader missing, too short or too long on the 64 campaigns concerned (1 of 2 measures met) 12.5/25 pts
12.5 points out of 25 — share of observations met across 64 campaigns.
How to fix it
A preheader of 40 to 130 characters, in real text, follows the subject in the inbox; every meaningful image has an alt attribute that says what it shows; the main message is in text, not inside an image. In the editor, the preheader is a dedicated field, and the alt is filled in image by image.
Half of readers see the message without images when it first opens. An alt and a preheader take a minute per campaign.
Met when the message keeps at least 200 readable characters with images blocked, and a preheader of 40 to 130 characters announces it in the message list. Without a preheader, the inbox shows the first text of the body instead — often “View in browser”.
What was measured — 1 met out of 2
- At least 200 characters remain readable with images blocked on 64 campaigns Met
- Preheader missing, too short or too long on the 64 campaigns concerned Not met
- Postmetry
- PM-EXP-001
The message can be rendered outside HTML Partly met The text version carries less than 80% of the links on the 64 campaigns concerned (2 of 3 measures met) 10/15 pts
10 points out of 15 — share of observations met across 64 campaigns.
How to fix it
The text version (text/plain) comes with the HTML and carries the content and the links, not just a sentence saying “open this message in your browser”. Email platforms generate it from the HTML when the option is on (“auto-generate plain text”).
This is the version that watches, screen readers and some business clients read; spam filters also use it, comparing the two versions.
Met when a text version comes with the email and carries the essentials: at least 60% of its text and 80% of its links. A client that does not display HTML falls back on it; reduced to “view the web version”, it renders nothing.
What was measured — 2 met out of 3
- A plain-text version accompanies the message on 64 campaigns Met
- The text version carries at least 60% of the text on 64 campaigns Met
- The text version carries less than 80% of the links on the 64 campaigns concerned Not met
- Postmetry
- PM-EXP-002
All links stay visible with images blocked Partly met Some links become invisible with images blocked (54 of 64 campaigns concerned) 2.3/15 pts
2.3 points out of 15 — met on 10 of 64 campaigns concerned.
How to fix it
Every important action (main button, unsubscribe) exists as text or as an HTML button, not only as a clickable image. For an image button, an alt that names the action and a background colour on the cell keep the area visible even without the image.
With images blocked, an image button becomes an empty rectangle: the reader does not know where to click.
Met when no link is carried by a single image without alternative text: such a link leaves nothing on screen. Not applicable if the message contains no links.
- Postmetry
- PM-EXP-003
Tap targets large enough Met Tap targets of sufficient size on 64 campaigns 10 pts
10 points out of 10 — met on 64 of 64 campaigns concerned.
Met when no sized tap target falls below 24 px a side (WCAG 2.2, criterion 2.5.8). Only targets with a declared dimension are measured; the criterion's exceptions — a target within a line of text, sufficient spacing — are not. Not applicable if the message declares no dimensions.
- WCAG 2.2 — 2.5.8
- PM-EXP-004
- WCAG 2.2 — Target Size (Minimum), success criterion 2.5.8, level AA
The message stays readable with assistive technology Partly met The message puts obstacles in the way of assistive technology — 1 of 4 measures met 8.8/20 pts
8.8 points out of 20 — share of observations met across 64 campaigns.
How to fix it
Four fixes, all in the template: declare the message language on the <html> tag (lang="en" for an email in English), describe each content image in its alt attribute, mark layout tables with role="presentation", and write links that say where they lead rather than “click here”.
The criterion detail shows which ones are missing from your emails; the others are already met.
A decorative image — divider, spacer — keeps an empty alt="": that is what keeps it silent, not an oversight.
Declared language, described content images, layout tables marked as such, link texts that say where they lead: what a screen reader needs to render the message. The detail says which of these measures is missing.
What was measured — 1 met out of 4
- Message language not declared (15 of 64 campaigns concerned) Partly met
- Some content images are not described on the 64 campaigns concerned Not met
- Layout tables announced as data tables on the 64 campaigns concerned Not met
- Every link says where it leads on 64 campaigns Met
The message declares its adaptation to screens Met The message declares its adaptation to screens on 64 campaigns 15 pts
15 points out of 15 — share of observations met across 64 campaigns.
Met when the message declares its viewport and its adaptation to screen width. Without them, it displays on a phone at its original width, and is read by zooming and scrolling sideways.
What was measured — 2 met out of 2
- Viewport declared on 64 campaigns Met
- Adaptation to screen width declared on 64 campaigns Met
- W3C
- PM-EXP-026
- CSS Device Adaptation — the viewport tag
- Media Queries Level 4
Dark mode declared Bonus point not earned The message does not declare its support for dark mode on the 64 campaigns concerned +0 pts
0 points out of 5 — met on 0 of 64 campaigns concerned.
Earned when the message declares color-scheme or a prefers-color-scheme rule. No standard requires it — clients that force dark mode invert the colors themselves — but declaring it leaves control to the template rather than to the mail client.
- caniemail
- PM-EXP-027
Findings outside scoring
Observed, not scored
These findings are not part of any score: their threshold has no citable source. They are still shown in full.
Every link in the message goes through a tracker
detected by the form of its address
Each click is recorded and tied to the recipient before being redirected. No link leads directly to the site: there is no way to visit the brand from this message without being measured.
The evidence — excerpt from your email
https://lqavbqm.clicks.mlsend.com/ty/c/***
https://click.mlsend.com/link/c/***.mPZxik-nml8XSoWzY0Q6Q4Qb-TcsSiYkb2WHt5mspnU
https://click.mlsend.com/link/c/***.OQyM_U85zr2kbUKcCDxksEE6jlB35w2zaAbqokxY1ME
Sector comparison
Food — 43 brands with at least one campaign analyzed. The shares below are counted on them, never on the catalog.
Reading notes
How to read this page
-
A criterion that is not observable or not applicable leaves the calculation. It stays listed, never counted as zero: its weight leaves the denominator rather than weighing as a failure.
-
Each line describes an observable finding, with the excerpt that establishes it. No legal qualification is ever attached to it.
-
The measurements come from deterministic analyzers: the same message always gives the same result, and a disputed finding can be redone identically from the archive.
-
Every share is published on an observed basis, and names it: “26 of 30 brands analyzed.” A brand with no email received enters no denominator.
-
The deliverability score is borrowed: its verdict comes from the server that received the message. All the other families come from our own analyzers.
Does this analysis speak to you?
Let's go through it together, in 20 minutes.
We go over the 13 points with you, the evidence for each and the order in which to fix them. By video call, no commitment.
Or take it with you: the PDF report