← All posts
Setup guide · Shopify

Adding a Digital Product Passport to a Shopify store is mostly a connect-and-import job — except for the handful of fields Shopify was never built to hold. Here's the whole flow.

31 August 2026 · 7 min read · Jussi, founder
TL;DR
  • Connecting a Shopify store to a DPP tool is a read-only OAuth connection — no write access to your store, no customer data touched.
  • Every product imports as a draft passport first. Drafts cost nothing and don't count against your plan's product limit until you activate them.
  • Shopify already has your titles, photos, descriptions and barcodes — it has no native fields for materials, care, repair or certifications, so those still need filling in once, in your DPP tool.
  • A theme block adds a 'View Digital Product Passport' button to your product pages once passports are activated; if you sell in physical retail, you'll also want a printed QR code per product.
  • On productpasses.com, Shopify sync is included on Studio (€29/mo) and Foundry (€89/mo) — not on the free tier or Solo.

If your shop runs on Shopify, adding a Digital Product Passport isn't a rebuild — it's mostly a connect-and-import job. The part that actually takes thought isn't the technical setup, it's the handful of fields Shopify was never designed to hold. Here's the whole flow, end to end, and where the real work sits.

What "connecting Shopify" actually does

A DPP tool that supports Shopify should connect over OAuth with read-only scopes — products, product listings, inventory, files. It reads your catalogue; it doesn't write prices, inventory, descriptions, orders or customer data back into your store. The one thing it typically does write, later, is a single metafield holding the public passport URL for each product once you've activated it — that's what lets your theme show a passport link. Worth checking this explicitly before you connect anything, since scope matters more here than with most Shopify apps: a DPP is meant to be a trustworthy public record, not a side door into your store.

Step by step

1. Connect your store

Enter your shop domain, review the requested scopes on Shopify's consent screen, and approve. On productpasses.com this takes about 30 seconds and kicks off an import in the background — see the full setup walkthrough for the exact screens.

2. Let every product land as a draft first

A sensible import creates a Pending draft passport per product, not a live one. Drafts aren't public yet and shouldn't count against your plan's product limit — which matters if you're importing a catalogue of hundreds of SKUs on a mid-tier plan and don't want to pay for headroom you haven't used yet. Spot-check a handful before running the full import, so you catch any mapping issue on three products instead of three hundred.

3. Fill in what Shopify doesn't have

This is the actual work. Shopify already gives a DPP tool title, photos, description, vendor, barcode and weight — it has no native fields for material composition, care and repair instructions, end-of-life guidance or certifications, because none of that is a Shopify concept. Those fields get filled in once, in your DPP tool, per product or per product family. If you're chasing this data from suppliers rather than writing it from your own knowledge, our guide to collecting supplier material data covers how to ask without losing a season to email back-and-forth.

🧵
Templates save the repeat typing
A category-aligned template (textiles, furniture, electronics) sets out the fields your product type is expected to carry, so you're filling in a known checklist rather than guessing what's relevant product by product.

4. Activate

Once a draft has what it needs, activating it makes the passport public at its own URL and generates its QR code. A cap-aware bulk "activate all" is worth having if you're publishing a large batch at once, so anything over your plan's limit is skipped with a clear reason rather than silently failing.

5. Add the storefront button

In Shopify, add the passport block to your product page template (Online Store → Themes → Customize). It renders a "View Digital Product Passport" link using the URL written to the product on activation — no extra JavaScript, no page-speed cost. If you run more than one theme (a live theme plus a seasonal or preview one), you'll need to add the block in each, since Shopify scopes theme customisations per theme rather than per store.

6. Print a QR code for anything sold in person

The storefront button covers online shoppers. If the same product also sells through a physical shop, market stall or stockist, there's no product page to click through from — so once your category's DPP duty applies, ESPR expects a scannable code on or with the product itself for that route. Worth setting up either way if you already sell in person. See our QR placement guide for where that actually goes by product type (a hangtag reads differently on a garment than a sticker on a table leg).

Connect your store, see the drafts land
5 passports free, forever, no card needed. Shopify sync itself is a Studio and Foundry feature, but you can see the whole editor and public passport page on the free tier first.
Start free — 5 passports, no card needed

What doesn't carry over automatically — and why

  • Material composition, care, repair, end-of-life, certifications. Shopify has no fields for these, so a DPP tool can't invent them from your catalogue — they need a source, whether that's your own product knowledge or a supplier request.
  • Variant-level detail. productpasses.com, like most SME tools today, publishes one passport per product rather than one per colour or size variant — per-variant passports are on our own roadmap, not something to expect out of the box yet.
  • Anything you edit locally after import. A reasonable sync rule is that edits made in your DPP tool win over later Shopify-side changes to the same field, so polishing a description in your passport editor doesn't get silently overwritten by the next Shopify sync.

If you're not on Shopify

Live two-way sync is a Shopify-specific feature right now; on productpasses.com, WooCommerce auto-sync is on the roadmap but not live yet. WooCommerce and Squarespace merchants typically use an AI-fill flow instead — paste your existing product page URL and the tool drafts the passport fields it can read from the page, then you fill in the rest by hand. Slower than a native sync, but it gets you to the same draft-then-fill workflow described above.

How long this actually takes

For a small catalogue, the mechanical parts are quick: connecting the store is closer to seconds than minutes, and reviewing how a handful of products mapped takes a few more. None of that scales with catalogue size in any meaningful way — importing 30 products or 300 is the same click. What scales is step 3: filling in materials, care, repair and certifications per product, because that's data only you (or your suppliers) have. A brand with a tight, well-documented catalogue of a few dozen SKUs can realistically get through connect, import and a first batch of activations in an afternoon. A few hundred SKUs with patchy supplier documentation is a multi-week project — not because the software is slow, but because chasing down fibre percentages and certificates is.

  • Have the data already? Connect, import, fill in the DPP-only fields per product, activate. Realistic for one afternoon on a small catalogue.
  • Missing supplier data? Do the technical setup first anyway — it costs nothing to sit with draft passports while you chase composition and certification data in parallel.
  • Selling in physical retail too? Add QR printing to the plan; it's a separate small task once passports are activated, not a blocker to starting.

Sources

  1. Regulation (EU) 2024/1781 — Ecodesign for Sustainable Products Regulation (ESPR), EUR-Lex
  2. Digital Product Passport — European Commission (Single Market, Industry, Entrepreneurship and SMEs)

Frequently asked questions

Does connecting a Digital Product Passport tool to Shopify require giving it write access to my store?
No — a well-built integration requests read-only scopes (products, product listings, inventory, files) and writes nothing to your store except, on activation, a single metafield holding the public passport URL, so your theme can display it. Titles, prices, inventory, orders and customer data are never touched.
Do I have to redo my product data when I connect Shopify?
No. Shopify remains the source of truth for what it already has — title, photos, description, vendor, barcodes, weight — and that syncs in automatically. You only need to add the fields Shopify was never built to hold: material composition, care and repair instructions, end-of-life guidance and certifications.
What happens to my passports if I uninstall the Shopify app later?
On productpasses.com, passports stay live — they're your compliance records, not Shopify's. Uninstalling only marks the connection inactive and stops the live sync; reinstalling on the same shop re-links every product to its existing passport automatically, with no duplicates. Confirm the same is true before connecting a different tool — it isn't guaranteed by Shopify itself.
Do I need a QR code as well as the storefront button, or is one enough?
Both, for different situations, once your product category's DPP duty applies. The storefront button covers online shoppers browsing your Shopify product page. If the same product is also sold in a physical shop, market stall or showroom, there's no product page to click through from — so a scannable code on or with the product itself is how ESPR expects that route to work. See our QR placement guide for where it actually goes on different product types.
Does Shopify sync work on every plan?
Not usually on a free tier. On productpasses.com, Shopify sync is included on Studio (€29/month) and Foundry (€89/month), with a 14-day trial on Studio; it isn't available on the free tier or the entry Solo plan. Other DPP tools vary — check before you connect.

Keep reading