Mailgun
Transactional email. A Piksio image goes into Mailgun as an ordinary image link. The platform fills in each recipient’s values, and Piksio renders their version when the email is opened.
Merge tags
Section titled “Merge tags”Mailgun writes merge tags like {{first_name}}.
Mailgun doesn’t URL-encode values inside links, so keep personalized fields free of & and # (they can cut the link short). If you build the email in code, use the Code output instead: it encodes every value for you.
Where to paste
Section titled “Where to paste”Paste the HTML into your Mailgun template and send each value in t:variables.
Formats offered: HTML, Code, Image URL. The default for Mailgun is HTML.
Example
Section titled “Example”For a design with first_name and company_name, the HTML looks like this:
<img src="https://app.piksio.com/i/YOUR_IMAGE_ID?first_name={{first_name}}&company_name={{company_name}}" width="600" alt="Your personalized image" style="display:block;max-width:100%;height:auto;border:0" />Building the email in code? The Code output:
// One Piksio image link per recipient. URLSearchParams encodes each value,// so names like "Smith & Co" are safe. Empty values show the fallback.function piksioImageUrl(recipient) { const values = { first_name: recipient.first_name, company_name: recipient.company_name, }; const params = new URLSearchParams(); for (const [key, value] of Object.entries(values)) { if (value !== undefined && value !== null && value !== '') params.set(key, String(value)); } const query = params.toString(); return `https://app.piksio.com/i/YOUR_IMAGE_ID${query ? '?' + query : ''}`;}
// Put it in the html you send through the Mailgun API.const imageHtml = `<img src="${piksioImageUrl(recipient).replace(/&/g, '&')}" width="600" alt="Your personalized image" style="display:block;max-width:100%;height:auto;border:0" />`;Good to know
Section titled “Good to know”- Sending one message to many recipients with recipient-variables? Choose “Mailgun batch sending” instead.
Check before you send
Section titled “Check before you send”- In Use in email, use Test the link with sample values, and again with unfilled tags. Both are free.
- Preview one real recipient in Mailgun to confirm it fills in the fields.
- See Fallbacks and blanks for what a recipient with missing data sees.
Sources
Section titled “Sources”Checked against Mailgun’s own documentation on 2026-10-07: