Widgets
Email progress bars, live at every open.
Show fundraising totals, loyalty points, or goal progress as a bar that reflects the real number when each reader opens — not the number when you hit send. Design it in the dashboard, paste one image URL into your template, and let your email platform fill in per-recipient values.

A real render produced by DynaMail’s image pipeline.
Free while in beta · No credit card required
How it works
Every DynaMail widget is a plain image URL. Design it in the dashboard, then paste the URL into an <img> tag — or your email editor’s image block — like this:
Example embed snippet
<img src="https://img.dynamail.io/widgets/YOUR-WIDGET-ID/render.png?current=450&target=1000" width="600" height="100" alt="" />YOUR-WIDGET-ID is a placeholder — every widget you create gets its own id. The file extension requests the output format — gif, apng, webp, or png. Depending on the design, an animated widget may be served in an animated format even when a static extension is requested.
Because the image is rendered when the email is opened — not when it’s sent — each open shows the current state (renders are cached for at most a minute). No script, no custom HTML, nothing for your email platform to strip out.
What it’s for
- Fundraising campaigns — the thermometer updates itself between sends
- Loyalty programs — each member sees their own points toward the next tier
- Onboarding and profile completion — nudge users with how close they are
- Team or community goals — signups, pledges, or milestones toward a target
Personalize it in the URL
The data behind the widget — its values, chart points, and text placeholders — can come from the URL. Append query parameters, or your email platform’s merge tags, and each recipient’s open renders from their own data.
?current=…The value the bar shows (required) — drop in your platform's merge tag?target=…The goal the bar fills toward (required)?v_name=…Override any {v_name} text placeholder in your designFrequently asked questions
How do I add a progress bar to an email?
Design the bar in DynaMail's dashboard, then paste its image URL into an <img> tag in your template. Any email tool that can display an image can display the bar — no script or custom HTML involved.
How does the bar stay up to date?
The image is rendered when the email is opened, not when it's sent. The bar's numbers come from the URL: pass ?current= and ?target= — fixed values or your platform's merge tags — and every open renders from whatever they say at that moment.
Can each recipient see their own progress?
Yes. Add your email platform's merge tags to the URL query string — for example ?current={{points}} — and each recipient's open renders an image from their own data.
Does it work in Outlook and Gmail?
Yes — the widget is a standard image, so it displays wherever images do. The URL extension requests the format (render.gif, render.png, render.webp, render.apng); depending on the design, an animated widget may be served in a compatible animated format even when a static extension is requested. A few clients, like classic Outlook for Windows, freeze animated images on their first frame — for those audiences, use a design without an animated fill so every reader sees the final value.
More widgets for email
Gauge charts in email, live at every open.
Put a live gauge chart in any email as a plain image URL. The needle shows the value at the moment of open — scores, usage, goals. Free while in beta.
Sparklines in email, drawn fresh at every open.
Embed a live sparkline chart in any email as a plain image URL. Trend data renders fresh at every open and can be overridden per recipient. Free while in beta.
Email countdown timers, accurate at every open.
Add a live countdown timer to any email as a plain image URL. Every open renders the true time remaining, in any timezone, per recipient. Free while in beta.
Every widget type is included on the free beta plan — see pricing.