Why the certificate email should come from you
Picture the buyer's inbox on delivery day. There is a shipping confirmation from the store they bought from, which they open, and there is a message from an app they have never heard of, which they delete or report. That second email is what most certificate apps send.
A second sender costs you three things:
- Deliverability. Your store's domain has a reputation you have been building since your first sale. A third-party sender starts from zero, and certificate emails from unknown domains land in spam at exactly the moment your buyer is most excited.
- Control. Suppression lists, unsubscribes, send timing, none of it is yours when someone else holds the send button.
- Voice. You spent real effort making your order emails sound like your brand. An app's template, with your logo dropped in, sounds like an app's template.
So Editioned takes the opposite position: the app produces the data, you produce the email. We call it bring-your-own-mail, and it is a permanent design decision, not a missing feature.
What Editioned writes on every order
When an order comes in and an edition auto-assigns, Editioned writes these metafields to the order, all under the editioned namespace:
| Key | Example | What it is |
|---|---|---|
cert_url | https://yourstore.com/apps/provenance/… | The buyer's personal certificate link |
edition_number | 3 | The assigned edition, as a number |
edition_roman | III | The same edition, as a Roman numeral |
edition_total | 25 | Total run size |
edition_total_roman | XXV | Total run, Roman |
token_masked | ••••rqe | Masked tail of the verification token, for display |
product_title / product_handle | The Hooded Figure Pendant | Which piece the edition belongs to |
editions_json | [{…}, {…}] | Every edition on the order, for multi-item orders |
fulfilled_at | 2026-06-10T14:02:00Z | Written when the order ships |
Because this is plain Shopify order data, it outlives any one tool. Switch email providers next year and the certificate data is still sitting on every order, waiting.
The shipping confirmation snippet
The simplest integration is Shopify's own notification templates, under Settings → Notifications. Edit the Shipping confirmation template and add a block like this where you want the certificate to appear:
{% if order.metafields.editioned.cert_url != blank %}
<p>
Your piece is edition
{{ order.metafields.editioned.edition_roman }}
of {{ order.metafields.editioned.edition_total_roman }}.
</p>
<a href="{{ order.metafields.editioned.cert_url }}">
View your Certificate of Authenticity
</a>
{% endif %}
The if wrapper matters: orders that contain no editioned products simply skip the block, so your regular catalogue ships with a normal email and nothing breaks.
Using it from your marketing tool
If your transactional or flow emails run through a marketing platform instead of Shopify's templates, the same data is available, because it lives on the order, not in our app. The wiring differs by tool, but the shape is always the same: in your order-triggered flow, insert a variable that reads the Shopify order metafield editioned.cert_url (most platforms expose order metafields in their Shopify data picker or via a custom property), then build your certificate block around it with the same kind of guard as the Liquid above.
Two practical tips that apply everywhere:
- Add the certificate block to the shipping email rather than the order confirmation. The certificate is part of receiving the piece, and by ship time the edition assignment is long settled.
- Test with one real order on a draft product before turning the flow on. The two minutes of care shows up in thousands of future sends.
When the data lands
Timing is the question merchants worry about, so here is the exact sequence:
- Order placed. Shopify fires the order webhook, Editioned assigns the lowest available edition and writes the metafields, all within the same moment the order is created. By the time any email renders, the data is on the order.
- Order fulfilled. Editioned marks the edition as shipped and writes
fulfilled_at. Shipping-triggered emails have everything. - Order cancelled. The edition is revoked, its token rotates, and the old certificate URL renders a clear revocation page rather than a valid certificate. No stale proof escapes into the world.
Orders with more than one piece
When a single order contains several editioned products, the scalar fields (cert_url, edition_number, and friends) describe the first piece, and editions_json carries the complete list, one entry per edition with its own certificate URL. For most stores the scalar fields cover it. If your buyers regularly check out with three numbered pieces at once, loop over editions_json in your template and give each piece its own line.
The fine print
- Auto-assign on orders is a Pro feature, and every new install starts with 30 days of full Pro unlocked, no card, so you can wire up your email and watch a real order flow through before paying anything.
- The metafields also have definitions registered in your admin, so they show up by name (Certificate URL, Edition Number, and so on) on the order page itself, useful for support conversations even if you never touch an email template.
- Editioned holds no customer mailing data. There is nothing to export, nothing to sync, and no second consent trail for your privacy policy to explain. See how the wallet-free certificate itself works for the rest of the data story.
The short version
The certificate email your buyer actually opens is the one that comes from you. Editioned writes the certificate URL and edition details onto every order as plain Shopify metafields, your existing emails read them with a five-line snippet, and there is no second sender, no second domain, and no app voice between you and your collector. The data is yours, on your orders, in your stack.
Certificates in your own emails
Editioned runs numbered editions and hosted certificates, and writes the data where your tools already look. 30-day Pro trial on every install, no card required.
Install on Shopify