From your data to their inbox, in three steps and one team.
Spreadsheet in. Personalized assets out. Deterministic, multi-format, 500K records per batch. Built by the team behind Spotify Songwriter Wrapped.
Industry benchmarks: 25-30% open rate, 2-5% download rate.
The work
The whole thing, in three steps.
Ditto isn't a self-serve template tool. It's a managed campaign service. You bring the data and the moment; we render and deliver.
Hand us a list
Names, photos, milestones, stats, locations. The attributes that make each recipient specific. No CDP, CRM integration, or new pipeline required. CSV, Airtable, or a REST API. Whatever you already have.
We render the campaign
Designer-led HTML/CSS templates, your data interpolated. Video first, plus images, carousels, share cards, PDFs. Every asset made for one specific person, every recipient gets their own.
We deliver it
Managed send across email, SMS, in-app, and social channels. We handle the orchestration. Webhooks fire to whatever runs downstream. Your team handles the spike in inbound.
The engine
A real rendering engine, not a template tool.
Behind the three steps: a deterministic asset pipeline. Designers author HTML/CSS templates, your data drops in, the engine renders pixel-perfect output, every channel.
Data
- CSV
- Airtable
- REST API
Engine
- HTML / CSS templates
- Headless render
- Typography policies
Assets
- Video (MP4)
- Image (PNG, JPG)
- Doc (PDF, SVG)
Delivery
- Email · SMS
- In-app · social
- Webhooks downstream
No AI rendering. No AI slop.
Every asset is drawn from a designer-led HTML/CSS template, rendered deterministically. No diffusion model hallucinations, no awkward fingers, no generic stock vibe. Your brand gets the look it earned.
A unique video for every recipient.
Not a single explainer with a name swapped on top. Every recipient gets their own video — their data, their photo, their story — rendered as MP4 with auto-generated poster frames so social previews look intentional.
Same data in. Same pixels out.
Every render is reproducible to the byte. Approve once, ship to a million recipients, audit any single asset later — they'll all match exactly what you signed off on.
PNG, JPG, PDF, MP4, SVG, from one template.
One designer-authored template renders every format your channels need in a single pipeline run. No re-export gauntlet, no per-format dance, no broken aspect ratios.
500,000+ records per batch.
Designed for the campaign that hits every member of your audience. Horizontally scaled, individually retryable, individually resumable. Spotify Songwriter Wrapped shipped 7,000 in 72 hours; the engine stretches well past that.
"Maximiliano Bonifacio Rodríguez" doesn't break the layout.
Typography policies (shrink, clamp) run inside the headless browser, after layout. Long names size down. Lines clamp with ellipsis where you choose. Every output looks designed.
Security receipts
Fail-closed, in depth, by default.
Webhook signatures verified on the raw bytes. SSRF blocked at the browser layer. PII fields redacted before logging. Real engineering, not a checkbox.
External audit findings closed (April 2026, across 6 PRs).
Misconfigured deploys refuse to boot. No silent dev fallback in production.
Per-client API keys. One PAT per client base. One leak isn't everyone's leak.
Full threat model, defenses, and audit log on the security page.
See Ditto's security postureWhy managed
The line between a tool you fight with and a campaign that ships.
You hand-build, you fight the limits, you ship if you can.
- You learn another platform. Then teach your team.
- You hit row caps, format caps, font caps, layout caps.
- Long names overflow. Edge cases stop the campaign.
- You QA every asset yourself, or accept inconsistency.
- You handle the send. You handle the failure.
You hand us a list. We hand you a campaign.
- One brief, thousands of variants. Designers + engineers + delivery, on our side.
- No volume cap. Your audience is the only ceiling.
- Edge cases handled by policy, not by panic.
- Every asset rendered byte-identical to your approval.
- We send. We monitor. You handle the inbound.
We tell you when each tool wins, including against us. If you have engineers ready to build the pipeline, the API tools win. If you don't, this is the work.
See all 12 comparisons7,000 personalized assets. Same day Spotify Wrapped launched.
Spotify Songwriter Wrapped, 2023. One brief, 7,000 unique recipients across 70+ markets, every asset built from one designer-led template. Three years later, the format is part of mainstream Spotify Wrapped. We built that engine — and it's the same one that runs your campaign.
Stop renting. Start owning.
Let's build your first campaign.
Your audience is your distribution channel. Bring the moment, the data, and the list. We'll bring the engine.
Get a plan
Start a Ditto Campaign