Sentiment: tone across the tracked set

Every newsletter you track is scored for tone and measured for shape, from word count and link count through to emoji and reading level. Inside the app the screen is called Content Analysis. Marketers open it to hear whether a market sounds upbeat or flat, and to see what a typical send in that market looks like before writing their own.

All plans Sidebar: Content Repeatable scores, not AI
Where
Content / Sentiment
App route
/content
Answers
What tone and shape do tracked sends have?
Needs
One analysed newsletter, no minimum sample
Updates
After each analysis, up to 5 minutes behind

What this screen is

Inside the app this page is titled Content Analysis and carries two tabs. Sentiment analysis opens first. It splits the tracked newsletters into Positive, Neutral and Negative, shows how heavily subject lines lean on emoji, and gives the average word, link, CTA and image count. Below those cards sits a table with one row per newsletter and every content feature on it.

Pattern analysis re-cuts the same measurements into structure. It reports typical length and how consistent that length is, labels the writing style and shows how often CTAs and images appear. Two cards at the bottom list the section names that recur and a set of recommendations built from fixed rules.

Almost nothing on this screen is an AI judgement. Tone comes from matching the copy against a set vocabulary of positive and negative words. Readability uses the standard Flesch formulas, and links, images, buttons and paragraphs are counted from the email itself. Only the section names under "Most common content sections" come from AI. The same newsletter always scores the same way, so any figure here can be defended to whoever questions it. The scoring is also blunt. It has no idea what "not great" means.

No opens or clicks appear here for any brand. Newsletrix receives competitor newsletters as a subscriber, so the screen describes what a sender wrote and how the email was put together, never how readers responded.

Every average covers all newsletters ever collected for the selected brands and workspace, and no date range exists anywhere on the screen. Read the figures as a portrait of a sender's habits. They will not show you a trend.

Open it when

  • You want to know whether the newsletters you track sound upbeat, neutral or negative.
  • You are deciding how long a send should be and how many links, images and CTAs to include.
  • You want to check whether competitors put emoji in subject lines, and how many.
  • You are auditing reading level: plain English sits around Flesch 60 to 70 and grade 7 to 8.
  • You need one row per newsletter with every content feature, to scan or export (the 50 most recent rows).

Screen anatomy

The screenshot comes from an earlier release; the map after it shows the current Sentiment analysis tab, and the Pattern analysis tab is mapped further down.

Content Features Analysis screen: a Filter by Brand card set to All Brands, an Emoji Usage doughnut split between None and Low (1-2), a Sentiment Distribution bar chart with a Neutral and a Positive bar only, an Average Metrics list reading Avg Word Count 724.0, Avg Links 29.5, Avg CTAs 2.8 and Avg Images 25.1, and the Content Features table with an Export CSV button and colour-coded Subject Line, Body/HTML and Sentiment column groups
Content Features Analysis. The brand filter, the Emoji Usage doughnut, the Sentiment Distribution bar chart, the Average Metrics list and the grouped Content Features table with its Export CSV button. Only two emoji buckets and two sentiment bars are drawn, because no newsletter in this sample fell into the other buckets. The data shown is from a sample account. Captured on an earlier release of this screen, before the tab strip, the Key insights card and the benchmark lines under Avg links and Avg CTAs were added; the current layout is mapped below.
app.newsletrix.com/content
Content Analysis

Comprehensive content insights including sentiment analysis, pattern recognition, and structural metrics.

? More information
Brand All brands
Sentiment analysis Pattern analysis
1
Emoji usageDistribution of emojis across analyzed newsletters
None · 128 Low (1-2) · 74 Medium (3-5) · 19 High (5+) · 4
2
Sentiment distributionPositive, neutral, and negative tones across content
Positive 96Neutral 112Negative 17
Count
3
Average metricsMean word, link, CTA, and image count per newsletter
Avg word count
612.4
Avg links countYou 18.7 · Best practice 7 to 15
above range18.7
Avg CTA countYou 3.2 · Best practice 1 to 3
above range3.2
Avg image count
9.1
4
Key insights
1 "Neutral" sentiment dominates at 49.8% of all content analyzed
2 average newsletter contains 612 words with 19 links
3 newsletters average 3.2 call-to-action elements per message
4 4 different emoji types used across analyzed content
5 average of 9.1 images included per newsletter
5
Content features Groups: ✓ Subject line ✓ Body / HTML ✓ Sentiment ✓ Readability Export CSV
Subject line features Body/HTML features Sentiment analysis Readability metrics
BrandSubject CharsWordsEmojisUpper% WordsImgsLinksCTAsCTA Pos% Subj SentBody SentBody+Body- Flesch REFK Grade
EverlaneLast chance: 30% off the denim shop 38718.1% 6041124512.4% 0.500.1443 58.29.4
AllbirdsNew in: the Tree Runner, reimagined 356-5.7% 41281539.8% 0.00-0.2023 64.17.8
GlossierOur best-selling balm is back 295-3.4% 288612215.2% 0.000.3342 71.56.2
6
Legend:
Subject Line Features: length, emoji, punctuation, capitals, numbers and currency in the subject Body/HTML Features: words, paragraphs, images, links, buttons, CTAs and promo density Sentiment Analysis: polarity from -1.00 to 1.00 and positive / negative word counts Readability Metrics: sentences, syllables, Flesch scores and lexical diversity Check = present, cross = absent Sentiment chips: green above 0.1, indigo below -0.1, grey in between
Sentiment analysis tab. Two chart cards, the averages, the insights card and the content features table with its column groups; the numbers match the list below.
  1. Emoji usage Doughnut of subject-line emoji counts in four buckets: None, Low (1-2), Medium (3-5), High (5+). Slices are newsletters, not emoji.
  2. Sentiment distribution One bar per class, height equal to the number of newsletters. Colours follow palette order, not meaning.
  3. Average metrics Avg word count, Avg links count, Avg CTA count and Avg image count. Links and CTAs carry a best-practice band and a range chip.
  4. Key insights Up to five sentences assembled from the three cards beside it. No AI involved.
  5. Content features Groups toggles (Subject line, Body / HTML, Sentiment, Readability), Export CSV, and a table with pinned Brand and Subject columns plus 34 feature columns in four colour-coded groups. Newest first, 50 rows.
  6. Legend Explains the four groups, the check and cross marks and the chip colours.
  7. Page header "Content Analysis", its subtitle, and a help icon opening the "Master Your Content Strategy" explainer.
  8. Brand filter A single multi-select, "All brands" by default. "Clear all" appears once a brand is picked.
  9. Tab strip "Sentiment analysis" and "Pattern analysis". Switching between them is instant.

Every panel explained

Emoji usage

How many newsletters fall into each subject-line emoji-count bucket.

How it is calculated. Emoji are counted in the subject line only, with consecutive emoji counting as one. 0 lands in None, 1 to 2 in Low (1-2), 3 to 5 in Medium (3-5), the rest in High (5+). Because Medium claims 5, High in practice starts at 6.

How to read it. A large None slice means a plain-text market; a visible Medium or High slice means emoji styling worth testing against.

Watch out

Three consecutive fire emoji count as 1. Many emoji added since 2016 are not counted at all, while Chinese, Japanese and Korean characters are, which inflates non-Latin subject lines.

Sentiment distribution

The number of newsletters classed Positive, Neutral or Negative by body tone.

How it is calculated. The body copy is checked word by word against a set vocabulary of positive and negative terms, whatever the capitalisation. Polarity is positive hits minus negative hits, divided by their sum, from -1.00 to 1.00. Above 0.1 is Positive, below -0.1 Negative, everything between Neutral. No matched word means exactly 0.0, so Neutral.

How to read it. The tallest bar is the dominant tone. Neutral is usually large because most words appear in neither vocabulary.

Neutral has two meanings

It mixes balanced copy with copy the vocabulary did not recognise: "great!" does not match "great", and non-English newsletters nearly always land here. Bar colours are palette order (Positive violet, Neutral sky blue, Negative green), so read the labels.

Average metrics

Avg word count, Avg links count, Avg CTA count and Avg image count.

How it is calculated. Plain averages, one decimal, over every collected newsletter for the current brands and workspace. Links are the links in the email that point somewhere, images are the images it embeds, CTAs are links whose text contains an action phrase (shop, buy, sign up, learn more, add to cart and similar). Under links and CTAs a line reads "You value · Best practice low to high" with an in range, below range or above range chip. The bands are fixed at 7 to 15 links (ideal 10) and 1 to 3 CTAs (ideal 2), are best-practice rather than industry-specific, and appear only when the value is above 0.

How to read it. More than 3 CTAs points to decision fatigue; more than 15 links dilutes click intent. Treat the figures as the market norm, then decide whether to match it or stand apart.

Lifetime, not recent

No date range and no minimum sample: a brand's redesign last month is diluted by everything it sent before.

Key insights

Up to five sentences restating the cards beside it.

How it is calculated. Every line restates a figure already on the screen, in a fixed order, starting with the dominant sentiment class and its share and running through average words and links (rounded), average CTA count, number of emoji buckets present and average image count. A line whose value is exactly zero is skipped.

How to read it. Handy to paste into a note. "N different emoji types" counts buckets, so it never exceeds 4.

Content features table

One row per analysed newsletter. Brand and Subject stay pinned while 34 feature columns scroll in four groups. Subject Line Features holds 9 columns, Body/HTML Features 12, Sentiment Analysis 6 and Readability Metrics 7. Hover a short header for its full name.

How it is calculated. Rows are the 50 newest newsletters matching the brand filter, by the date in the email header. Values are measured from the subject line, the body copy and the email's markup. Ratios show as one-decimal percentages, polarity as a two-decimal chip (green above 0.1, indigo below -0.1, grey otherwise) and yes/no columns as a green check or grey cross. A zero in a count column prints as "-", except Btns, which prints "0"; a zero decimal prints as "0.00" or "0.0%".

How to read it. Switch off the groups you do not need, then scan the Sentiment block for chips far from 0.00. Export CSV downloads exactly what you see.

Table and charts can disagree

With no brand filter set, the charts above can cover more newsletters than the table lists, so a count on a chart will not always match the rows below it. Clicking a row opens nothing, and there is no page 2.

app.newsletrix.com/content
Sentiment analysis Pattern analysis
Avg sections
5.2
Avg content length
598
words
CTA position
21.4%
Avg images
9.1
Structural patternsParagraph volume and consistency across newsletters
Average paragraphs14.3
Content consistency62%
Writing style analysisTone, formality, readability, and vocabulary diversity
Overall tone
Neutral +0.06
Formality levelGrade level 9.4 · Best practice 7 to 8
above rangeModerate
Readability score58.2
Lexical diversity0.46
Call-to-Action patternsAverage CTA volume and prevalence across messages
Avg CTAs
3.2
Avg links
18.7
CTA presence rate91.6%
Visual elements usageImage volume and visual presence across analyzed content
Images/Newsletter
9.1
Image/Text ratio
0.39
Visual content presence97.8%
Most common content sectionsRecurring sections and their typical position
Section nameFrequencyAvg position
footer2224.3
hero2140.1
product_grid1711.6
category_cta1332.4
blog_teaser882.9
Actionable recommendationsAI-generated suggestions grouped by content type
Most newsletters use an average of 5.2 main sectionsConsider organizing content into clear sections for better readability
Average content length is 598 wordsKeep content around 600-700 words for consistency
21.4% of top performers place the primary CTA in the first third of contentEarly CTA placement can improve engagement
Content typically has a neutral tone with moderate formalityMaintain a neutral tone to align with successful patterns
Pattern analysis tab. Four KPI tiles, then Structural patterns, Writing style analysis, Call-to-Action patterns, Visual elements usage, Most common content sections and Actionable recommendations, each explained below.

Pattern KPI cards

Avg sections, Avg content length (words), CTA position (%) and Avg images.

How it is calculated. Avg sections is the mean number of sections found in a newsletter. Avg content length is the mean word count, rounded to a whole number. CTA position is where the first link of any kind starts, as a percentage of the email's total HTML length. Avg images is the mean image count.

How to read it. A CTA position of 18% means the first link sits about one fifth of the way into the HTML. Avg content length is the size to write towards.

Section-weighted averages

Avg sections, Avg content length and the Structural patterns figures weight each newsletter by its number of sections, so the length here can differ from Avg word count on the first tab. CTA position counts HTML characters rather than visible text, and is not limited to action-worded links.

Structural patterns

Average paragraphs and Content consistency.

How it is calculated. Average paragraphs is the mean paragraph count, drawn at 5% of the bar per paragraph, so 20 or more fills it. Content consistency is 1 minus (standard deviation of word count divided by average word count), as a percentage.

How to read it. Near 100% means every send is about the same length; low means short teasers mixed with long digests.

Two edge cases

A perfectly uniform set (deviation 0) is treated as missing and shows 0% instead of 100%. If lengths vary by more than the average itself, the value goes negative.

Writing style analysis

Overall tone, Formality level with a Grade level, Readability score and Lexical diversity.

How it is calculated. Overall tone applies the 0.1 and -0.1 thresholds to the average body polarity, as a green, red or grey badge with the two-decimal average. Formality labels the average Flesch-Kincaid grade: below 8 Casual, below 12 Moderate, otherwise Formal. Readability score is the average Flesch reading ease, 0 to 100. Lexical diversity is unique words divided by total words, 0.00 to 1.00. Bands: grade 7 to 8 (ideal 7, lower is better), reading ease 60 to 70 (ideal 65).

How to read it. Aim for reading ease 60 to 70 and grade 7 to 8 for plain English. Diversity nearer 1 means little repetition, though long newsletters mechanically score lower.

Display quirks

The badge sign is always "+", so a negative average shows as "+-0.12". With no data the card says Neutral and Formal.

Call-to-Action patterns

Avg CTAs, Avg links and CTA presence rate.

How it is calculated. Averages over the newsletters in view; presence rate is the share of them with at least one CTA link. A CTA is any link whose text contains an action phrase, whatever the capitalisation, and each link counts at most once.

How to read it. Below 100% presence means some sends are pure editorial. A wide gap between Avg links and Avg CTAs means most links are navigation or footer, not asks.

Watch out

A phrase counts wherever it sits inside the link text, so "Views from the road" counts because of "view". Image-only buttons with no link text are never counted.

Visual elements usage

Images/Newsletter, Image/Text ratio and Visual content presence.

How it is calculated. Mean image count; mean of images divided by images plus paragraphs; share of newsletters with at least one image. Paragraphs are the paragraph blocks in the email, or its blank-line blocks when a template is built without them.

How to read it. A ratio near 1.00 is a catalogue-style, image-led email; near 0.00 is a text newsletter. Tracking pixels and spacer images count, so template-heavy senders look more visual than they are.

Most common content sections

The ten most frequent section names across the filtered newsletters, with Frequency and Avg position.

How it is calculated. Names are taken from the analysis of each newsletter (typically hero, product_grid, category_cta, blog_teaser, footer). Frequency counts appearances; Avg position is the mean slot counted from 0, so 0.0 means always first. Hidden when no sections exist.

How to read it. This is the market's default layout. Avg position tells you which block usually opens an email and which one sits near the end.

The one AI-derived panel

Names are free text, so "footer" and "Footer" can appear as separate rows, and a block listed twice for one newsletter counts twice.

Actionable recommendations

Up to five pairs of observation and suggestion, covering structure, CTAs, visuals and style.

How it is calculated. Each line is chosen by a fixed rule from the figures above. With sections: "Most newsletters use an average of N main sections". With a length: "Keep content around X-Y words", a 100-word band around the average. With a CTA position below 40%: "N% of top performers place the primary CTA in the first third of content", otherwise "Primary CTAs typically appear around N% through content". With images and paragraphs: a visual break every M paragraphs, M being paragraphs divided by images. A style line always closes the list.

How to read it. Observations about your tracked set with a generic nudge attached.

What the AI label covers

The card says "AI-generated suggestions", but the wording is fixed and only the numbers change. "Top performers" is the plain average, with no performance weighting behind it, and the style line still appears with no data at all ("neutral tone with formal formality").

Metric definitions

MetricWhat it meansHow it is producedScale
Subj Sent, Body SentEmotional lean of the subject or body(positive hits - negative hits) / (positive + negative hits) over the words of the text; 0.00 when nothing matches-1.00 to 1.00
Sentiment classPositive, Neutral or NegativeAbove 0.1 Positive, below -0.1 Negative, otherwise Neutral; same rule for the bars, the chips and Overall tone3 classes
Subj+, Subj-, Body+, Body-Vocabulary hitsCount of words found in the positive or negative vocabularyWhole number
Overall toneTone of the filtered setSentiment class of the average body polarity; no data gives NeutralPositive / Neutral / Negative
Formality levelFormality of the filtered setAverage grade below 8 Casual, below 12 Moderate, otherwise Formal; no data gives FormalCasual / Moderate / Formal
Chars, Words (subject)Subject lengthCharacters; words separated by spacesWhole number
EmojisEmoji runs in the subjectConsecutive emoji count once; some post-2016 emoji are missed and some CJK characters are countedWhole number
!, ?Punctuation in the subjectCount of each characterWhole number
Upper%How shouty the subject isUppercase letters / all letters × 1000.0% to 100.0%
Num, %, $Subject flagsContains a digit; a percent sign; a currency symbol (dollar, euro, pound, yen, rupee)Check or cross
Words, Chars (body)Body lengthWords and characters of the body copyWhole number
ParagraphsParagraph blocksParagraph blocks in the email; blank-line blocks in a template built without themWhole number
Imgs, Links, BtnsElements counted in the HTMLEmbedded images; links that carry a destination; buttonsWhole number
Img/TxtVisual densityImages / (images + paragraphs); 0.00 when both are 00.00 to 1.00
CTAsAction linksLinks whose text contains an action phrase, at most 1 per linkWhole number
CTA Pos%First link positionStart of the first link as a share of the HTML length; 0.0 with no links0.0% to 100.0%
AnchorLink text lengthMean characters of link text, empty links excluded0.0 and up
UTMTracking presentAt least one link carries UTM tracking parametersCheck or cross
Promo%Promotional vocabularyPromotional words found / body words × 1000.0% to 100.0%
SentsSentencesThe body copy broken at . ! and ?Whole number
Avg SentWords per sentenceWords / sentences0.0 and up
SyllablesWord complexityEstimated per word, then averaged; pure numbers count 00.0 and up
Flesch REReading ease206.835 - 1.015 × (words / sentences) - 84.6 × (syllables / words), clamped to 0 to 1000 to 100; band 60 to 70
FK GradeUS school grade0.39 × (words / sentences) + 11.8 × (syllables / words) - 15.59, floored at 00 and up; band 7 to 8
DiversityVocabulary varietyUnique words / total words0.00 to 1.00
Content consistencyLength uniformity(1 - deviation / average word count) × 100; a deviation of exactly 0 shows 0%Usually 0% to 100%, can go negative
CTA presence rateShare with a CTANewsletters with at least one CTA link / all × 1000.0% to 100.0%
Visual content presenceShare with an imageNewsletters with at least one image / all × 1000.0% to 100.0%
Avg position (sections)Typical slot of a sectionMean position counted from 0, so 0.0 is first0.0 and up

Filters and controls

ControlWhat it doesDefault
BrandMulti-select that restricts both tabs and the table to the chosen brands. Lists only brands with at least one analysed newsletter, largest first.All brands
Clear allEmpties the brand selection. Appears in the filter card only while a brand is selected.Hidden
Tabs"Sentiment analysis" and "Pattern analysis". Switching between them is instant.Sentiment analysis
GroupsSubject line, Body / HTML, Sentiment, Readability. Each shows or hides a whole column block (9, 12, 6 and 7 columns). Toggling one changes nothing but the view, and hidden groups are left out of the CSV.All on
Export CSVDownloads the table exactly as it stands on screen, at most 50 rows, visible groups only, on-screen formatting and two header rows.-
Help iconOpens the "Master Your Content Strategy" explainer for the screen.-
Workspace (sidebar)Scopes every number to tracking addresses in the selected workspace. Switching reloads the page.Current workspace

There is no date range, no sort control, no search box, no detail view on row click and no way past the first 50 rows. Brand and workspace are the whole set.

How to use it

  1. Set the scope Pick the workspace in the sidebar, then leave All brands for the market norm or select one brand to profile a sender.
  2. Read the tone Check Sentiment distribution, then Overall tone on the Pattern tab. If Neutral dominates, look at a few rows: Body+ and Body- both at "-" means the vocabulary matched nothing.
  3. Check the bands Avg links count and Avg CTA count carry the 7 to 15 and 1 to 3 bands. "Above range" on the market average means the norm is crowded, an opening for a cleaner send.
  4. Switch to Pattern analysis Note Avg content length, Content consistency, CTA presence rate and Visual content presence, then read Most common content sections for the default block order.
  5. Drill into the table Toggle off unneeded groups, scan Sentiment chips far from 0.00 and Flesch RE outside 60 to 70, then Export CSV.
  6. Write down a target One line per brief, giving the word band, link count, CTA count, image count and a reading ease target, all taken from the screen rather than from habit.
Tip

Profile brands one at a time. Because the averages have no date range, a single brand filter turns the screen into a style sheet for that sender, with the table showing the sends behind the numbers.

Limits and caveats

  • Tone comes from vocabulary matching, whole words only and blind to capitalisation. No negation ("not great" scores positive), no sarcasm, no intensity, no language detection; attached punctuation blocks a match.
  • Averages have no date range and no minimum sample size, so one unusual newsletter can move them.
  • Counts come from the markup rather than from what a reader sees. Tracking pixels count as images, a template built from tables has its blank lines counted as paragraphs, and image-only buttons are never CTAs.
  • Readability estimates syllables and breaks sentences at . ! and ?, so URLs, prices and abbreviations distort both Flesch numbers; reading ease is held to 0 to 100 and grade level never drops below 0.
  • The Pattern tab's structural figures weight each newsletter by its number of sections.
  • With nothing matching the filter the two charts draw as empty frames rather than saying so, the four averages read 0, Key insights shows its empty state and the table says no content features were found. The Pattern tab still draws, with 0 in every tile, tone Neutral, formality Formal and a single recommendation.
  • The table shows the 50 newest rows. With no brand filter set the charts can cover more newsletters than the table lists.
  • A newly analysed newsletter can take up to 5 minutes to reach the charts, and the table catches up a little sooner. Leave the tab untouched for a few minutes and it stops refreshing until you come back to it. Chart colours follow palette order, and the legend's "red" for negative is indigo in practice.

FAQ

Why are so many of my newsletters classed as Neutral?

Polarity matches whole words, whatever their capitalisation, against a set vocabulary of positive and negative terms. If none appears, polarity is exactly 0.0 and the newsletter lands in Neutral. Punctuation stays attached, so "great!" does not match "great", and non-English newsletters almost always score Neutral.

Is the sentiment score produced by AI?

No. Sentiment, readability, word counts, emoji counts, links, images and CTAs all come from fixed rules applied to the email, so the same newsletter always gets the same score. The only AI-derived data on this screen is the section names in Most common content sections; the Actionable recommendations card is labelled AI-generated, but its wording is fixed and only the numbers change.

The Emoji usage chart shows None, Low (1-2), Medium (3-5) and High (5+) instead of emoji. Is that a bug?

No. Those are buckets of how many emoji the subject line contains, and each slice is the number of newsletters in that bucket. Consecutive emoji count as one run, so three fire emoji count as 1, and High (5+) in practice starts at 6 because the Medium bucket claims 5.

What does a CTA position of 22% actually mean?

It is the average position of the first link in the email as a share of the total HTML length. It is not restricted to action-worded links, and because it counts HTML characters rather than visible text, heavy header or preheader markup pushes it up.

Why does the Export CSV file have fewer rows and columns than I expected?

The export takes the table exactly as you see it. You get at most the 50 most recent newsletters shown here, only the column groups toggled on, and on-screen formatting (percent signs, check and cross marks) instead of raw values. It writes both header rows, the group banner and then the short labels. There is no page 2, so rows beyond 50 cannot be reached or exported here.

Why is Content consistency 0% or negative?

Consistency is 1 minus (standard deviation divided by average) of body word count, as a percentage. If lengths vary by more than their own average, say 100-word teasers mixed with 3,000-word digests, the ratio exceeds 1 and the value goes negative. If every newsletter is exactly the same length the deviation is 0, which the screen treats as missing data and shows as 0% instead of 100%.