How it works

From your product data to emails
that actually move users.

Sendlyr reads your existing data, finds the early behavior that predicts conversion, then drives users toward it with state-matched emails you approve and an A/B test that measures the lift.

In 30 seconds · five questions answered
What does Sendlyr do, step by step?
Read your data find the milestone classify users stage emails A/B test the lift.
Do I install anything?
No. Read-only access to your behavioral DB. No SDK, no tracking changes, no schema edits.
How do you find the milestone?
Statistical scan of your historical cohort. Not a formula. Not industry benchmarks.
Will you send without my approval?
No. Each state template is approved by you once. Nothing sends in monitoring mode.
How is lift proven?
Treatment vs. control A/B split from day 1. Conversion measured, not opens.
01 · Connect your data

Read-only access. No new stack.

We connect to the database or analytics source you already use. No SDK to install, no schema to change, no events to re-instrument. If you can grant a read-only DB user, we can analyze.

  • Currently live: Azure SQL, Postgres, Snowflake, BigQuery, MySQL
  • Read-only. We never write to your production database
  • No PII required. We work with anonymized user IDs by default
What we need from you: a read replica or follower DB, a list of the 4–8 tables that contain user events, and 90 days of history. Setup call takes ~30 minutes.
sendlyr · connect read-only
1-- read-only user, your DB, your control
2GRANT SELECT ON trial_events, users, subscriptions
3  TO 'sendlyr_read';
4-- that's the entire integration
5SELECT count(*) FROM trial_events WHERE ts > now() - interval '90 days';
6→ 2,418,716 rowsconnection ok
Driver
tedious (azure-sql)
Mode
read-only
Auth
SQL · service principal
Schema changes
none
Egress
to sendlyr · TLS 1.3
PII
opt-in only
02 · Discover the milestone

Statistical analysis on your cohort.

We test every candidate early behavior — completed onboarding, used feature X, returned on day N — against your 12-week retention or trial-to-paid outcome. The behavior with the best combination of lift, coverage, and statistical significance becomes the milestone.

  • Method: cohort split — users who hit each candidate signal vs. matched users who didn't
  • Threshold: minimum +3pp lift, ≥30% coverage, p < 0.05
  • This is analysis, not a formula — the winning behavior is different for every product
Time to milestone: 48 hours from data connection. You get a written report with the analysis methodology, candidate signals tested, and the chosen milestone with confidence bounds.
pai_analysis.report · typesy · 14d cohort complete
Candidate behaviors tested: 24 n = 24,118 trials · 12-wk window
Signal Retention Coverage Decision
signal_a · session ≥ 3 in 7d 36.1% 82% drop · low lift
signal_b · key feature B 37.9% 81% drop · low lift
signal_d · complete profile 34.8% 71% drop · no lift
signal_c · threshold met in 14d 39.5% 79% primary
signal_e · invite a friend 41.2% 12% drop · low coverage
winner tested · dropped baseline 34.0% · p < 0.001
03 · Classify every user, every day

Deterministic state. No black-box ML.

Every night we look at each trial user's behavior relative to the milestone and assign them a state. The rule that drives each state is a plain SQL expression on your data — auditable, explainable, and yours.

  • Deterministic. Same inputs → same state. No ML scoring, no opaque model
  • Auditable. You can see the rule that put any user into any state
  • Editable. Want to redefine "stuck" as 5 days instead of 3? One config change
user_state · nightly snapshot · typesy_vip 9 states
State distribution · last run · 02:14 UTC 1,842 active trials
NEW412
IN_PROGRESS388
ACTIVATED274
STUCK196
HIGH_INTENT147
CHURN_RISK132
DORMANT_3D103
DORMANT_7D87
EXPIRED103
Rule · STUCK WHEN days_since_signup >= 3 AND days_since_signup < 7
  AND milestone_progress < 0.4
  AND last_session_within(48h) IS FALSE
04 · Generate emails, you approve

One approval per state. You stay in control.

For each state we draft a behavior-matched email. You read it, edit it, replace it, or reject it. Once approved, the system personalizes each send from live data — names, progress, dynamic CTAs — and routes the right template to the right user automatically.

  • Approval is per-template, not per-user — approve once, reuse the template across all users in that state
  • Edit anything before approving — subject, body, CTA, send time
  • Monitoring mode at launch — drafts are generated but nothing sends until you flip the switch
Sending domain: your own (subdomain or root). Emails come from your brand. We never send from a sendlyr.com address.
queue · pending approval · 4 templates awaiting you
Per-state templates · approve once, personalize forever 3 approved · 1 pending
NEW
Welcome — start your first session
approved 2 days ago · 412 users matched
STUCK
Pick up where you left off — 2 minutes to your next milestone
approved 2 days ago · 196 users matched
CHURN_RISK
Is there something blocking you? Reply and I'll personally help.
draft v2 · awaiting your review · 132 users will receive
ACTIVATED
You're 80% to mastery — here's what unlocks at 100%
approved 1 day ago · 274 users matched
Approve once · personalization happens at send time auto-pause if reply rate > 8%
05 · Measure conversion lift

A/B split from day one. Conversion, not opens.

Half your trial users receive state-matched emails. The other half receive nothing — your real control. We track conversion as the primary metric: trial-to-paid, week-12 retention, or whatever your business cares about. Open rates are noise.

  • Treatment vs. control — same product, only emails differ
  • Stratified by state — comparing matched users, not random splits
  • Minimum 50 treatment users before we report a lift. Below that, no claim
Honest framing: if the analysis shows no lift after 4 weeks, we tell you. If the milestone is wrong, we re-run step 2. We don't ship vanity metrics.
experiment · trial → paid · 12-wk window live
Week 6 of 12 · treatment / control · 50/50 stratified n=1,820 each arm
Control
8.4%
trial → paid · n=1,820
Treatment
11.7%
+3.3 pp · +39% rel.
Confidence
97.4%
p = 0.026 · 95% CI
treatment control
wk 0wk 1wk 2wk 3wk 4wk 5wk 6
weekly export · CSV + dashboard link statistical significance reached
Expectations

What we don't do.

If any of these are dealbreakers, Sendlyr isn't the right tool — and we'd rather you know now than after the discovery call.

Send emails without your approval
Every state template requires your sign-off. We launch in monitoring mode — drafts are generated, nothing leaves the queue until you flip the switch.
Promise lift before we see your data
If you ask "will this work for us?" before the 48-hour analysis, the honest answer is we don't know yet. The analysis tells us — and you.
Claim significance below threshold
We require n ≥ 50 treatment users and p < 0.05 before we report a lift. Below that, the dashboard shows "not enough data yet" — never a directional claim dressed as a result.
Replace your lifecycle team
Sendlyr finds the milestone and generates the state-matched drafts. Your lifecycle or growth person stays in the loop on copy, tone, and brand voice. We make their job easier, not redundant.
Timeline

From discovery call to first measurable lift.

Two weeks to monitoring mode. Two to four weeks of monitored sends before A/B significance. No long implementation.

Day 0
Discovery call
30 min · qualify the fit, scope the data
Day 1–2
48-hr analysis
we run PAI · you get the milestone report
Day 3–7
State design
define states, draft per-state emails
Day 8–10
Approve templates
you review · edit · approve once per state
Day 11–14
Monitoring → live
drafts verified · sending switched on
Week 4–6
First lift signal
A/B reaches significance · weekly report
FAQ

Questions you'd ask on a call.

Do I need to change my stack or install an SDK?
No. We read from your existing database or warehouse. The only integration is a read-only DB user. Setup typically takes one 30-minute call.
How long does setup take?
48-hour analysis to identify the milestone. 1–2 weeks from first call to monitoring mode. First A/B significance typically lands in weeks 4–6.
Who approves the emails?
You do — once per state template. After approval, the system personalizes and sends. No per-user approval, no surprises. You can pause any template at any time.
Where do emails actually send from?
Your own sending domain — either your root or a subdomain (mail.yourapp.com). We integrate with your existing ESP (Postmark, SendGrid, Resend) or set one up. Never from a sendlyr.com address.
What's the minimum cohort size?
Practical minimum is ~10,000 trial users in the last 90 days. Below that, the statistical analysis won't reach significance and we'd be guessing. We'll tell you on the discovery call if you're under-scoped.
What if the analysis finds no strong milestone?
It happens. If there's no candidate behavior with meaningful lift and coverage, we say so. You get the report and we part as friends — no obligation to continue.
Who owns the data and the analysis?
You. The analysis, the milestone definition, the state rules, and the templates are yours. If you ever leave Sendlyr, you take the playbook with you.
How do you handle GDPR and PII?
By default we work with anonymized user IDs — no email addresses, no names. If you want personalization (first names, etc.), PII is fetched at send time and never logged. DPA available.
Can I see results before committing?
Yes. The 48-hour analysis runs before any commitment. You see the milestone, the methodology, and the confidence bounds. If it's not compelling, you don't continue.
What does it cost?
The 48-hour analysis is free for qualified teams. Ongoing pricing scales with active trial volume and starts at $2k/month. We discuss specifics on the discovery call once we know the cohort size.
◆ Get started

Book a 48-hour analysis.

We'll analyze your product data and tell you what your activation milestone is. No commitment. Free for qualified teams.

Book a discovery call
30-min call No setup before 48-hour turnaround