AI system for personalizing email newsletters for media

Daily issues and dozens of segments quickly turn manual mailings into a bottleneck: emails arrive to the wrong people and at the wrong time. We develop a turnkey AI system for email newsletter personalization — from data preparation to launch and handover of operating procedures. We configure it so that each subscriber receives their own version of the issue, and the team does not grow along with the number of segments.
Frequently Asked Questions

Why email personalization breaks at scale

While the base is measured in thousands of addresses, a single email template holds: segments are assembled manually from exports, one subject for everyone, same blocks for everyone.

Email personalization at this stage boils down to substituting a name in the first paragraph — the rest is picked up by a manager manually.

At scale this breaks. Manual segmentation of the base cannot keep up with changes: while a segment is being assembled, part of the audience has already shifted interest, and subscribers with different reading scenarios end up in one issue.

Assembling an issue turns into a manual conveyor — export, block layout, checking rendering for each segment. Low response here is not an accident but a consequence: the email does not match what the person came for.

Then sender reputation feedback kicks in. Uniform emails to a wide base cause a spike in complaints, email providers cut deliverability, and issues that used to be read end up in the promotions folder. The growth of unsubscribes takes away exactly the audience for which the issue was made.

We analyze how this is closed: from static segments — to recalculating the interest profile for each issue, from a single template — to assembling the email from blocks for a specific recipient.

What a personalization system gives: measurable effects

Personalization pays off not by the feeling of a "smart newsletter" but by a shift in metrics by segment. Below are four areas where the effect is visible in reports already in the first weeks after launch, not in a presentation.

Share of active recipients

The model calculates the probability of opening for each subscriber and splits the base into groups by depth of interest.

For the first time, the editorial team sees what share of the base is actually active, instead of the average across the whole newsletter — and an average always masks a failure in one segment and growth in another.

Repeat opens

Personal subject and preview block bring back to the newsletter those who missed several previous issues. Response grows because of hitting the subject, not because of increasing the number of sends, so the load on the sender's domain does not change.

Reduction of unsubscribes and control of touch frequency

The frequency rule limits the number of touches per subscriber and separates campaigns from each other so that two emails do not arrive on the same day.

Unsubscribes stop being a side effect of volume: they are managed as a metric, and the remaining base receives fewer emails and opens them more willingly.

Removed manual work of the editorial team

Segments, subjects, and send time are calculated automatically; the editor sets rules and checks the sample instead of manually collecting lists. We assemble delivery on Amazon SES with warm-up and domain separation — sender reputation holds even on mass issues.

Operating modes: rules, segments, trainable model

The personalization mode is chosen not by "advancement" but by the volume of accumulated history and required predictability.

Rules and conditions work on small volumes and give fully explainable behavior; static segments are a compromise where categorization has settled; a trainable model gives maximum accuracy with sufficient data.

In practice, modes are almost always combined: rules cover critical scenarios — email frequency, unsubscribes, service notifications — and serve as insurance, while the model selects content within what is allowed.

The key limitation is cold start: while opens and clicks are few, the model learns on noise, so in the first weeks it works together with segments, and weights are recalculated as data arrives.

Comparison of modes

Mode When it fits Limitations of the approach
Rules and conditions Small base, quick launch needed, explainability of each email is important The number of combinations grows faster than support; only manually specified dependencies are found
Static segments Established categorization, reader interests change slowly, there is an analyst for revision Segments age and overlap; manual update, weak reaction to a change in interest
Trainable model Impressions and clicks have accumulated, base from tens of thousands, precise content selection needed Cold start on new topics, lower explainability, quality control and retraining required
Hybrid: rules and model We keep critical scenarios rigid, give content selection to the model Boundaries need to be set, otherwise rules dampen the model's predictions

The choice is not fixed forever: as soon as history accumulates, part of the segments is replaced by the model, and rules remain only on service scenarios.

Implementation stages: from data audit to launch

The stages proceed strictly sequentially: each next one relies on the verified result of the previous one. This way email personalization reaches launch without the risk of collapsing deliverability or sending irrelevant recommendations to the entire base.

  1. Data audit. We look at what already exists: history of opens and clicks, subscription segments, content catalog, restrictions on personal data processing. The output is a list of sources with an assessment of completeness and a list of gaps that we close before launch.

  2. Event schema. We agree on which reader actions we record and with what detail: view, read-through, click, unsubscribe. The schema becomes a contract between the website, the email platform, and the model — features are calculated from it.

  3. Scenario setup. We assemble selection rules and frequency limits: how many emails per week per subscriber, what to show a new reader with empty history, how to suppress repeats.

  4. Historical validation. We run the scenarios on accumulated data: reconstruct what the system would have suggested a month ago and compare with actual behavior. We select the configuration with the best result — this is cheaper than a live launch.

  5. Launch on a share of the audience. We enable it on part of subscribers with a control group, monitor deliverability, unsubscribes, and complaints. A discrepancy with historical validation is a signal to return to the event schema or limits.

  6. Handover and training. We hand over configurations, event schema, validation report, and change regulations. We show the editorial team and developers how to change rules and add scenarios on their own.

  7. Support. For the first weeks we run metrics together with your team and analyze deviations. After that — either support or full autonomy.

What we hand over: configurations and regulations

Email personalization rests not on the model but on how subscriber events reach the email. Therefore, together with the working system, we hand over artifacts by which it is developed and maintained without our involvement — engineers, editorial team, and support.

  • Data flow schemas — the path from email open and click to recalculation of the interest profile and the send queue, with enrichment points and sections where the flow may stall.
  • Event dictionary — event types with required fields, sources, and deduplication rules: a new category is connected to personalization without rewriting the selection logic.
  • Subscriber profile description — which features are calculated, the relevance window for each, and how old interest fades: news interest lives for days, and selection takes this into account.
  • Access policies — roles, visibility boundaries of personal data and email history, export procedures, and a log of accesses to profiles.
  • Update regulations — how a new version of selection is released: validation on shadow traffic, comparison of opens and clicks, procedure for returning to the previous version.
  • Quality control — automated checks: share of emails with an empty recommendation block, mismatch between subject and content, delay between an event and profile update.
  • Documentation and handover — service map, instructions for the editorial team and support, checklist of typical failures, and escalation procedure.

Case: a media outlet with daily issues and segments

Where they started

The publication «Gorodskoy Vestnik» has several daily issues: a morning news digest, daytime announcements, and an evening digest.

The editor assembled segments for each issue manually — exported subscribers by topic, cleaned duplicates, checked against the click history for the week.

Up to three hours passed between the publication of a material and sending, and part of the audience received an announcement of a topic they had already read in another newsletter.

What was changed and what happened

The reader profile is rebuilt once a day based on the history of opens and clicks: thematic interests, activity time, reaction to previous issues.

Then personalization rules determine which issue the material will go into and when the email will be sent; the editor retains veto power and edits the subject manually.

Over six weeks, the share of repeat opens grew by about 1.8 times, unsubscribes decreased by a third, and clicks from the evening digest — almost twofold. The assembly time for one issue decreased from three hours to 20-25 minutes, and manual segment lists left the process.

Rollback is provided: if profile calculation fails, the newsletter goes out by the base segment as a whole — without skips or duplicates.

What to do if static segments are already set up

Static segments do not need to be broken: the model is placed next to them and kept in shadow mode for the first weeks. It calculates a probability score using the same features that the email platform already collects, while actual sending is still determined by a rule.

Comparison runs on the history of opens and clicks — even before the first real send, it is visible where the model diverges from the rule and how confidently.

Transition options differ in how much risk the team takes at one step:

Option When it fits Limitations
Shadow mode validation without affecting issues no feedback from actual sending
Share of traffic content is homogeneous, segments are close in behavior need to control divergence between groups
Replacement by segments there are clear candidate segments rules for the rest live longer and hinder learning
Full transition history has accumulated and rollback is set up degradation is visible immediately across the entire base

The main risk is not model quality but feature desynchronization and behavior drift: data in the storage and at the moment of sending diverge, and the audience changes by season.

Therefore, a fallback rule and a divergence metric are kept nearby, and rollback to static segments is performed by changing a setting, without rebuilding the scenario.

Gradual replacement goes from segments with the most predictable reaction: first news issues and digests, then regular categories, and only then reactivation of sleeping subscribers and rare occasions.

The criterion for expansion is that the model is no worse than the rule on the past window and a stable spread between groups; otherwise the step is rolled back and the cause is analyzed.

Technical doubts: data, delays, rollbacks

The doubts revealed below arise on every project: what exactly leaves your perimeter, whether the system will withstand a mass issue, and how expensive it is to return to the previous logic if personalization does not meet expectations. We answer substantively — the way it is arranged in working systems.

What subscriber data leaves our perimeter?

The subscriber identifier, address, and open history remain in your database — only an anonymized set of features goes outside: segment, interaction frequency, thematic preferences. It cannot be used to reconstruct who exactly received the email.

Access to the exchange is limited to a service account, and the access log is stored for as long as your personal data policy requires.

What happens at the moment of a mass issue?

The issue is split into waves rather than going out in one stream: scoring and email assembly run in parallel across parts of the list.

If the calculation does not make it to the send window, degradation triggers — the subscriber receives the base scenario instead of the personalized one. The newsletter goes out on time, not "when it is calculated."

Can the previous email logic be returned?

Yes, personalization rules are versioned. Switching to the previous set takes minutes and does not require rolling out new code — it is enough to change the active version.

An individual rule can also be disabled: for example, personalization of the email subject while keeping block selection.

What if there is little data about the subscriber or it is dirty?

A coverage threshold works: when features are insufficient, the subscriber automatically follows the base scenario instead of receiving a random variant. The share of such addresses is visible in the report, so data quality is assessed before it affects the result.

Let's discuss the task: what is needed to start work

To make the conversation substantive rather than overview, it is useful to bring a minimal set of inputs — from them we will immediately estimate the scope of work.

If part of the data is not yet available, this does not block the start: we will outline what can realistically be collected before the start and what we will gather in the first stage.

  • Data composition: which activity sources are available — opens and clicks, purchase history, in-app views, support requests — how they are exported and who is responsible for access.
  • Current email perimeter: in-house sending or an external service, whether there are delivery and unsubscribe events, whether a personal block can be mixed into the email at the formation stage.
  • Frequency and consent rules: how unsubscribes are currently regulated, how many emails per week are allowed per recipient, which segments must not be touched.
  • Infrastructure restrictions: where anonymized profiles are allowed to be stored, security requirements and retention periods, whether a separate perimeter is needed for processing.
  • Baseline metrics: open rate, clicks, share of unsubscribes and complaints by segment — we will compare the result after launch with it.
  • Success criterion and boundaries of the first stage: which segment we take first, what we consider a successful launch, who on your side accepts the result.

Describe the task in free form — we will return with an estimate and a plan: stages, what we do, what is required from your team, which metrics we focus on, and how we roll back changes if recommendation quality drops. Then we will agree on timelines and the start of work.

AI Development Areas

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1393
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1368
  • B2B Advance company logo design
    B2B Advance company logo design
    815
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1139
  • AIDER company logo development
    AIDER company logo development
    1057
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1152