Widgets
A circular progress bar for your email.
Put a goal ring beside the numbers it represents. Pass current and target values in the image URL, or connect a public JSON source for the current value. DynaMail renders the available value on an image request; email clients may reuse a cached image.

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=7&target=12" width="320" height="288" 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.
DynaMail renders when the image is requested and briefly caches the result. Email clients and their image proxies can also cache images, so a later open may reuse a previous response. No script, no custom HTML, nothing for your email platform to strip out.
What it’s for
- Course completion — show lessons finished against the total
- Loyalty progress — show points toward a reward
- Fundraising — show contributions against a campaign goal
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 completed amount; a URL value takes precedence over a connected or pushed value?target=…The goal the ring fills toward (required)Frequently asked questions
How do I add a circular progress bar to email?
Design a radial progress widget in DynaMail, then paste its image URL into an <img> tag. Set current and target in the URL to render the ring.
Can the ring show a new value later?
Yes. You can pass a current value in the URL, push one through the live-value API, or connect a public JSON source. A later image request can render a new value, although email clients may reuse an earlier image.
Can each recipient see their own progress?
Use your email platform’s merge tags for current and target in the image URL. Each distinct request renders from those values; client caching can affect later opens.
Does the ring work in Outlook?
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. Classic Outlook for Windows shows the first frame of an animated fill, so choose a design without fill animation for that audience.
More widgets for email
Create a free progress bar
Make a horizontal email progress bar with the free generator.
Email progress bars, connected to your goals.
Add a progress bar to any email as a plain image URL. Connect a live JSON source or personalize values per recipient. No code. Free while in beta.
Show progress in a vertical bar.
Put a vertical goal indicator in email as an image. Supply current and target in the URL, or connect a public JSON source for the current value.
Show the next step right in the email.
Show named stages of a process in email as an image. Set current and target steps in the image URL for each recipient.
Gauge charts in email, connected to your metrics.
Put a gauge chart in any email as a plain image URL. Show scores, usage, or goals from a live JSON source or per-recipient values. Free while in beta.
Every widget type is included on the free beta plan — see pricing, or browse ready-made email templates.