Widgets

Product cards in email, priced from your feed.

Connect a public JSON product feed, pick one product, and embed its photo, price, and availability as a single clickable PNG. Choose how long a feed read stays fresh. DynaMail attempts another read when a later image request needs it; email clients may keep their own copy of the image.

Product card widget for email rendered by DynaMail: a compact horizontal card with a product photo on the left and brand, name, price, and availability on the right

A real render produced by DynaMail’s image pipeline.

Create a free account

Free while in beta · No credit card required

How it works

  1. 1

    Connect a feed

    Paste the HTTPS URL of a public JSON document that lists your products — no credentials in the URL. DynaMail reads it, shows the fields it found, and suggests a mapping for feeds that use a standard products list.

  2. 2

    Map the fields

    Point the card at the product list and its ID, name, product URL, price, currency, availability, and image fields — plus brand and compare-at price if your feed has them — and say which availability values mean in stock, out of stock, or unknown.

  3. 3

    Select the product

    Pick the one product this card shows. Its feed id and product page URL are captured when you save and stay fixed for the life of the widget.

  4. 4

    Design the card

    Start from a preset, then adjust layout, fonts, colors, and how the price, compare-at price, and availability are styled. Use the photo from the feed or one you upload.

  5. 5

    Embed it

    Copy the linked image snippet. The whole PNG is one link to the captured product page, so a tap anywhere on the card opens the product.

The finished widget is a plain image URL inside a link — paste it into your template, or your email editor’s image block, like this:

Example embed snippet

<a href="https://your-store.example/products/your-product"><img src="https://img.dynamail.io/widgets/YOUR-WIDGET-ID/render.png" width="600" height="240" alt="Product name — view product" /></a>

YOUR-WIDGET-ID is a placeholder — every widget you create gets its own id. This widget uses a static PNG for broad email-client support. Use descriptive alt text so readers can understand the image when images are off or a screen reader reads the email.

DynaMail renders each request from the latest feed read for your selected refresh tier. Email clients and their image proxies may cache the PNG after fetching it. No script, no custom HTML, nothing for your email platform to strip out.

What it’s for

  • Abandoned-cart and browse-recovery emails — refresh price and stock without rebuilding the email
  • Sale announcements — the strike-through appears only while the feed lists a compare-at price above the current one
  • Back-in-stock and restock alerts — availability follows your feed with no resend
  • Launches and newsletters — one card per product, all reading the same feed

How price and stock stay current

  • Choose a refresh window

    A successful feed read stays fresh for 5 minutes, one hour, or one day. The first image request after that window attempts a new read.

  • DynaMail hides expired price and stock

    If the feed cannot be read past its refresh window, the card drops the price and shows Check availability. The name, brand, and photo from the last good read are kept for up to 24 hours; after that the card shows the name, brand, and image you saved with the widget, marked Data unavailable.

  • Missing product or unreachable feed

    A product that has left the feed renders the saved fallback with Product unavailable. A feed that cannot be reached at all renders it with Data unavailable. Either way the card still links to the product page.

  • Email clients may keep an earlier image

    Email clients and image proxies can fetch the card once and keep their own copy, so a reader may see the card as of that fetch. DynaMail itself renders each request from the latest feed read and does not serve a stored copy of the product-card image.

What the URL can and cannot change

A product card renders the product you saved. The query string can adjust image dimensions, but it cannot change the product or its data.

?width=…&height=…Render at a different pixel size
?pixelRatio=2Render at 2× for high-density screens

The product identity and destination are fixed when you save: one widget shows one product and always links to the product page captured at that moment. If the product or its page URL changes in your feed, the card shows its saved fallback rather than following the change. Use “Duplicate for another product” in the editor when you need a card for a different item, feed, or destination.

Frequently asked questions

How do I add a product card to an email?

In the DynaMail dashboard, connect a public JSON feed that lists your products, map its fields, choose the product, and design the card. Then paste the linked image snippet into your template: an <img> inside an <a> that points at the product page. It works in any email tool that can display an image — no script, no plugin.

Does the price update after I send?

Yes. A successful feed read stays fresh for 5 minutes, one hour, or one day, depending on your chosen tier. The first image request after that window attempts a new read. Email clients and image proxies may keep an earlier image, so a later open does not guarantee a new price is displayed.

What happens if my feed is down or the product disappears?

DynaMail hides expired price and stock data. If a fresh read fails, the card can retain descriptive details from a recent successful read and show Check availability. Without usable source data it shows your saved fallback with Data unavailable; a missing product shows Product unavailable. The link stays fixed. Email clients may still display an image they fetched earlier.

Can I change the product or price per recipient in the URL?

No. A product card shows the one product you selected, from the one feed you connected, linking to the product page captured when you saved it. A request that tries to pass a different product, price, availability, image, feed, or destination is refused, so a tampered URL can never show a different product or price. Only the image size can be adjusted in the URL. To feature several products, create one card per product.

Does it work in Outlook and Gmail?

Yes. Product cards use static PNG images, so they display wherever images do, including classic Outlook for Windows.