How do I add dynamic links to my product pages?

Topic summary

Goal: add a per-product link (stored as a URL metafield) to product pages for members only; the metafield isn’t showing on the product page. The shop uses the Impulse theme.

Guidance: review Shopify’s metafield documentation to ensure the metafield is correctly defined and connected to the product page.

Implementation (OS 2.0 themes): add a custom-liquid block/section on the product template. Test output with product.metafields.customnamespace.key (or .value) to confirm the metafield renders.

Access control: use customer tags (e.g., “membership”) to conditionally display the link via a Liquid if statement. A code snippet is central to this approach and shows how to render the metafield only for tagged customers.

Alternative: if the theme isn’t OS 2.0 or the link must be inserted within other elements, customize the product template files.

Key terms: metafields = custom data fields on products (e.g., URLs); OS 2.0 = Shopify’s flexible theme architecture supporting sections/blocks; customer tags = labels on customer accounts used to control visibility.

Status: actionable steps provided; no confirmation of resolution yet, discussion remains open.

Summarized with AI on February 9. AI used: gpt-5.

I am working on a membership site. When someone becomes a member they get free access to some special files I’m hosting (on another website). I need to include a specific link on each product page, but I’m not sure how to do it.

I created a URL metafield, but for some reason it isn’t accessible on the product pages.

Any suggestions? (I just bought the Impulse theme for my shop.)

How to create meta fields connected to the product page.

Please review the above document. Is that how you have done it?

Hi @FunnishLLC if you have an OS2.0 theme in your theme settings editor on the product template add either a custom-liquid block or custom-liquid section.

First test the output of the metafield i.e. {{ product.metafields.customnamespace.key }} or {{ product.metafields.customnamespace.key**.value** }} .

When the metafield output is working then it’s common to use customer tags to control the access of such information, plenty of posts in the forums about that , it’s similar to the following where you change “membership” to whatever tag is being used:

{% if customer.tags contains "membership" %}
 {{ product.metafields.customnamespace.key }}
{% endif %}

If you don’t have an OS2.0 theme, or you need the link inserted into some other data and not be it’s own row-element you’ll need to customize your themes product templates.

You can reach out to me if you need this customization created for you, info in sig.