Retailer guide · COA & recall compliance for regulated wellness

Give your customers a Lab Results link that's always current.

Put a Lab Results link on your product page. It shows the live certificate for that barcode, kept current by the brand — and if a product is ever recalled, the notice reaches every connected store carrying that barcode the same day. No re-uploading PDFs, nothing to keep track of. Free for retailers.

The first way below needs no code at all: paste a link into the product description, about thirty seconds, works on every platform. Start there. Below it is a snippet that additionally checks whether a product is covered and shows nothing for a brand that has not joined, and below that a whole-catalog block that makes no such check and is only right for a store whose entire catalog is on rd Relay.

Start here: no code, about thirty seconds

You do not need a developer, and you do not need to touch your theme. Every product in your Catalog has its own permanent address — the one under its QR code, in the form rdrelay.com/c/<barcode>. Paste it into the product's description as ordinary link text: type Lab Results, select it, click the link button, paste.

Why this is the one to start with. It works on every platform, it needs no HTML mode and no code block, and it is always visible because it is part of your own page rather than something we draw onto it. If you only ever do this, your customers can still scan a shelf and land on current lab results.

The trade-off is that it is a fixed link. It does not check coverage the way the snippet below does, so if that brand ever leaves rd Relay the link stays on the page and lands on a placeholder. That is a fair trade on products you know are covered, and the snippet below is the upgrade once you want it handled automatically.

The one requirement, whichever you pick

The barcode on your product has to match the barcode the brand registered on rd Relay — that is what the link resolves against. If a link lands on a page saying no certificate is on file, that mismatch is almost always why, and it is fixable in a minute: check the barcode field on the variant.

Upgrade: the snippet that checks coverage for you

Unlike a PDF link you paste once — or a QR code frozen on last year's batch — this link updates itself. When the brand re-tests, every connected store shows the new lab results the same day.

In your Catalog, click Add to your website on a product, then Copy snippet. You get this, with the barcode already filled in:

<script src="https://rdrelay.com/embed.js" async></script>
<span data-rd-relay-labresults data-barcode="012345678905"></span>

On Shopify: Products → open the product → in the Description box, click <> to show HTML → paste at the bottom → Save. Everywhere else it goes in a code or custom-HTML block in the product description — a plain text or data field will store the characters without running them.

Why you would move up to this. It asks rd Relay whether the product is actually covered before it draws anything. If the brand has not joined, or has no current lab results on file, it renders nothing at all — no link, and no empty space where one would be. That is what makes it safe on a real shelf, where most stores carry a mix of brands that have joined and brands that have not.

The trade-off is that it is per product: you repeat it for each one, and a product added later will not have it until you do. Start with the products customers ask about most.

One honest caveat, because it is the difference between a link and a link that is actually seen: the snippet is drawn by a script from our domain, so a shopper running an ad or content blocker may never see it. We found this the hard way on our own storefront — the server-rendered products showed their link and the embed-only product did not, on the same page load.

Where the block lives, by platform

  • Shopify. Products → open the product → in the Description box, click <> to show HTML.
  • WooCommerce / WordPress. A Custom HTML block in the product description, or a code-snippet plugin.
  • Wix. Add → Embed & Social → Embed HTML / Custom Code.
  • Squarespace. A Code block on the product page.
  • BigCommerce. The HTML / custom-content area of the product.
  • Webflow. An Embed element on the product page.
  • Square Online. An Embed code section on the item page.
  • Custom-built site. Straight into the product page.

Advanced: one block for your whole catalog

Only do this if every brand you carry is on rd Relay. This block is server-rendered, so it works with JavaScript switched off and a content blocker cannot hide it — but it does not ask whether a product is covered before drawing the link. It draws one for every variant that has a barcode. A product whose brand has not joined rd Relay gets a confident Lab Results link that lands on a page saying the brand is not on rd Relay yet. On a mixed shelf that is most of your catalog, which is why it is not the default.

On Shopify, paste it into your product template once (Online Store → Customize → your product template → Add block → Custom Liquid). It covers your whole catalog, including products you add later.

{%- assign v = product.selected_or_first_available_variant -%}
{%- assign url = v.metafields.custom.coa.value -%}
{%- if url == blank and v.barcode != blank -%}
  {%- assign url = 'https://rdrelay.com/c/' | append: v.barcode -%}
{%- endif -%}
{%- if url != blank -%}
  <a href="{{ url }}" target="_blank" rel="noopener"
     style="display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#1F2A1C;text-decoration:none;">
    <span aria-hidden="true">&#8599;</span> Lab Results
  </a>
{%- endif -%}

It uses a custom.coametafield if you have one on the variant, and otherwise builds the link from the variant's barcode. Either way the document itself always comes from rd Relay, so it stays current on its own.

About metafields. You cannot paste a <script> into one — a metafield stores typed data, and that is the validation error you hit if you try. But storing the URL in a metafield and letting your theme render it is the strongest setup there is, and it is what we run in our own stores. The rule is about where scripts go, not about metafields being wrong.

If a product has several variants — a 4-pack and a single, an 8ct and a 30ct — each one has its own barcode and its own lab results. The block above is correct when the page loads; add a small inline swap so it follows the shopper when they change variant, or ask us for the full version we use on raddadalt.com.

If you switch themes later, re-add this block. Custom code lives in the theme, not in your account.

The three identifiers, and what each one is

All three appear in our docs and they do different jobs. If you have met one of the others elsewhere, this is the list.

  • data-rd-relay-labresults— the Lab Results link. This is the one on this page, and the one most stores want.
  • data-rdlabs-badge— the verified-COA badge, a separate visual embed documented at /badges. Not a replacement for the link; some stores run both. The rdlabsprefix is older naming, kept because changing it would break the badges already live in retailers' themes.
  • custom.coa— not an embed at all. It is a Shopify metafield the Liquid block above reads if you have one, as described in the section directly above.

Both embeds are served by the same https://rdrelay.com/embed.js, so a page using both loads one script.

Not the one who installs code?

Send this page to your web person — the whole install is one paste. It's the same embed we run in our own Baton Rouge stores.

Brand or distributor? One barcode, one record, every store current.

For brands For distributors