Widgets

Email progress bars, connected to your goals.

Show fundraising totals, loyalty points, or goal progress as an image. Connect a public JSON source or let your email platform fill in per-recipient values in the URL. DynaMail renders the available values when the image is requested; email clients may reuse a cached image.

Loyalty points card showing 450 points toward a 1,000-point reward threshold

A real render produced by DynaMail’s image pipeline.

Create a free account

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="340" height="184" 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

  • 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 design

Frequently 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?

Use ?current= and ?target= for values supplied by your email platform, or connect a public JSON source in the dashboard. DynaMail attempts a new source read on the first image request after its refresh window expires. A URL value takes precedence over the source. Email clients may reuse images they have already fetched.

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

Create a free progress bar

Set current and target values and get an email-ready PNG without signing up.

Make a free fundraising thermometer

For donation goals: one image link for email and your website that shows each new total.

How-to: Fundraising progress bar in Mailchimp

Step-by-step, checked against the platform’s own help pages.

How-to: Fundraising thermometer in Constant Contact

Step-by-step, checked against the platform’s own help pages.

How-to: Fundraising thermometer in Kit

Step-by-step, checked against the platform’s own help pages.

How-to: Fundraising thermometer on WordPress

Step-by-step, checked against the platform’s own help pages.

How-to: Live points balance in Klaviyo

Step-by-step, checked against the platform’s own help pages.

How-to: Live waitlist spot in Mailchimp

Step-by-step, checked against the platform’s own help pages.

How-to: Live waitlist ticket in Kit

Step-by-step, checked against the platform’s own help pages.

How-to: Live waitlist ticket in Mailchimp

Step-by-step, checked against the platform’s own help pages.

How-to: Waitlist ticket merge tags

Step-by-step, checked against the platform’s own help pages.

How-to: Progress bar in a GitHub README

Step-by-step, checked against the platform’s own help pages.

A circular progress bar for your email.

Show goal progress as a circular bar in email. Supply current and target values in the image URL, or connect a public JSON source.

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.

Show the journey in your email.

Show labeled milestones in an email image. Pass current and target values in the image URL to mark progress through the timeline.

Make progress visible as a liquid level.

Show a liquid level for a goal or capacity in an email image. Set current and target in the URL; animated designs render as GIFs.

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.

Sparklines in email, connected to your data.

Embed a sparkline chart in any email as a plain image URL. Connect a live JSON source or supply trend data per recipient. Free while in beta.

Email countdown timers for your next deadline.

Add a countdown timer to any email as a plain image URL. Render time remaining to a shared or per-recipient deadline in any timezone. Free while in beta.

Product cards in email, priced from your feed.

Embed a product card in any email as one linked PNG. Connect your feed for product photos, pricing, sale state, and availability. Free in beta.

Every widget type is included on the free beta plan — see pricing, or browse ready-made email templates.