Skip to main content

Overview

Dynamic Linking allows you to pin specific products to the top of collection pages when customers arrive from your advertising campaigns. This ensures that the products featured in your ad creative appear at the top of the page, creating a seamless experience from ad to landing page. Common use cases:
  • Social media ads featuring specific products
  • Google Shopping campaigns with product images
  • Email campaigns showcasing featured items
  • Influencer partnerships highlighting specific products

How it works

When you drive traffic to a collection page from an ad, you can pass product identifiers (handles or IDs) via the Browse API’s dynamicLinking parameter. These products will appear at the top of the first page, regardless of your merchandising rules or sort orders. Priority hierarchy:
  1. Dynamic Linking (first page only)
  2. Merchandising Rules
  3. Base Sort Order
Dynamic Linking takes the highest priority and only applies on page 1 of results. On subsequent pages, your normal merchandising rules and sort orders apply.

Example scenario

You’re running a Facebook ad featuring three specific necklaces. When customers click the ad and land on your “Necklaces” collection page, you want those three products to appear at the top in the same order as shown in the ad. Without Dynamic Linking: Customers see products sorted by your default sort order, which may not include the advertised products at the top. With Dynamic Linking: The three featured necklaces appear at positions 1, 2, and 3, exactly as shown in your ad, creating a consistent experience.

Automatic dynamic linking via URL parameters

If your store has the Layers tracking pixel installed, Dynamic Linking works automatically when customers arrive on a collection page with a utm_products URL parameter. You don’t need a custom API integration.

How it works

  1. You include a utm_products parameter in your ad’s destination URL
  2. Product handles are separated by underscores (_)
  3. The Layers tracking pixel detects the parameter and automatically injects the dynamicLinking payload into the Browse API request
  4. The specified products appear pinned to the top of the collection page

URL format

https://yourstore.com/collections/necklaces?utm_products=gold-chain_silver-pendant_diamond-choker
This will pin the products with handles gold-chain, silver-pendant, and diamond-choker to positions 1, 2, and 3 on the collection page.

Setting up your ad URLs

When creating ads on platforms like Facebook, Google, or email campaigns, append the utm_products parameter to your collection page URL:
https://yourstore.com/collections/summer-sale?utm_source=facebook&utm_medium=cpc&utm_campaign=summer&utm_products=summer-dress-blue_classic-tee-white_beach-hat
The utm_products parameter works alongside standard UTM parameters (utm_source, utm_medium, utm_campaign) for combined attribution and merchandising.

Requirements

  • The Layers tracking pixel must be installed on your storefront
  • Product handles in utm_products must match your Shopify product handles exactly
  • Handles are separated by underscores (_)

Manual API implementation

If you need more control, Dynamic Linking can also be implemented directly via the Browse API. Your development team will need to:
  1. Identify the products featured in your ad (by handle or ID)
  2. Pass these identifiers in the dynamicLinking parameter when calling the Browse API
  3. Ensure the API call is triggered when customers arrive from your ad campaign
Example API request:
{
  "sort_order_code": "relevance",
  "dynamicLinking": {
    "products": ["summer-dress-blue", 8234567890123, "classic-tee-white"]
  }
}
See the Browse API documentation for complete technical details.

Behavior and constraints

  • First page only: Dynamic Linking only applies on page 1 of results
  • Graceful handling: Layers silently skips non-existent or unavailable products
  • Automatic shifting: Subsequent products shift up to fill any gaps
  • Mixed identifiers: You can use product handles (strings) and IDs (numbers) in the same array
  • Order matters: Products appear in the exact order you specify in the array

Enabling dynamic linking

The Layers team needs to configure Dynamic Linking for your store. To enable it for your store:
1

Contact support

Reach out to the Layers support team via your dedicated Slack channel or email [email protected]
2

Provide use case details

Share information about your advertising campaigns and how you plan to use Dynamic Linking
3

Select your implementation

Option A (Recommended): If the Layers tracking pixel is installed, simply add utm_products to your ad URLs — no development work needed.Option B: For custom implementations, work with your development team to use the Browse API’s dynamicLinking parameter directly.
4

Testing

Test your implementation by visiting a collection page with the utm_products parameter and verifying the specified products appear at the top.

Tips for success

  • Coordinate with marketing: Ensure your merchandising team knows which products are featured in active ad campaigns
  • Track performance: Monitor conversion rates for ad traffic to measure the impact of Dynamic Linking
  • Keep it relevant: Only pin products that are actually featured in your ad creative
  • Limit the number: Pin 3-5 products maximum to maintain a natural browsing experience
  • Update regularly: As ad campaigns change, update your Dynamic Linking configuration to match

See also