What is Dynamic Yield?
Dynamic Yield (by Mastercard) is an e-commerce personalization and merchandising platform. Merchants use Experience OS for search, category merchandising, product recommendations, and behavioral targeting across web and mobile. Dynamic Yield includes tools built for Shopify that sync catalog data and power Experience Search (semantic search), Browse, and Choose recommendation campaigns.
Why Dynamic Yield + Tapcart?
The Dynamic Yield integration creates a personalized search and navigation experience for shoppers in your Tapcart app. It helps shoppers find products faster with relevant search results, merchandised collection pages, typeahead suggestions, and recommendation carousels powered by the same Dynamic Yield campaigns you manage for other channels.
What functionality can the Dynamic Yield integration unlock? See the following:
Search
Keyword / semantic search results
Filtering (facets)
Sorting
Spell correction and redirects (when configured in Dynamic Yield Search settings)
Popular / trending search suggestions (autosuggest)
Discovery / merchandising
Collection / category browse (merchandised PLPs)
Dynamic filters / facet refresh
Price and list-style filters
Recommendations
Homepage, PDP (similar / you may also like), cart, and empty-search recommendation slots via DY Choose campaigns
Recommendations Carousel and Trending Collections blocks in App Studio
Analytics (optional)
When enabled for the app, Tapcart sends Collect events (pageviews, sort, filter, add-to-cart, and recommendation engagement) to Dynamic Yield
How to Connect Dynamic Yield + Tapcart
Here’s how to set up this integration:
The integration is available to Tapcart customers with an active Dynamic Yield Experience API / Experience Search setup. Setup is Solutions-assisted today — your Tapcart Solutions contact configures Dynamic Yield on your app with you. Because DY involves Experience API sections, product ID mapping, feeds, and campaign selectors, merchant self-serve in the Dashboard is not offered at this time; your team will walk through the connection and validation steps.
Before you start (merchant prerequisites in Dynamic Yield)
Complete these steps in the Dynamic Yield dashboard before Tapcart can return live results:
Client-side API key — Dynamic Yield → Setup → API Keys. Create a Client-side Experience API key with serve and collect permissions. Do not use a server-side key in the Tapcart app (that returns HTTP 451).
Data center — Confirm whether your DY account is US or EU. This must match the Tapcart
regionsetting.Product feed — Catalog → Product Feed. Sync from Shopify (DY Shopify connector). Confirm the feed is Active with a recent sync and that product identifiers match how Tapcart will hydrate (see variables below).
Experience / Shopify section — Use the DY Experience API / Shopify section for the app — not your website-only section. Website and app often use different section IDs and campaigns.
Search — For Experience Search merchants, confirm Semantic Search is live on the Shopify section. Tapcart uses the Experience Search API when
searchModeis set to semantic.Recommendation campaigns (optional at launch) — Create API campaigns whose selector names match what you will put in Tapcart (e.g.
pdp-similar-products). Point those campaigns at the same product feed Tapcart hydrates (typically Shopify variant IDs or handles — not a separate ERP-only web feed unless Tapcart is configured for that ID type).Publish products to the Tapcart sales channel — DY may return catalog hits that Shopify Storefront cannot resolve if products are not published to the channel behind your Tapcart app token. Unpublished products show as empty / “NO RESULTS” after hydration.
Steps (connect in Tapcart)
Reach out to your Tapcart Solutions / Account contact (or LiveChat) to start a Dynamic Yield enablement.
Gather the merchant variables in the table below from your Dynamic Yield account (client-side API key, region, product/category ID types, optional recommendation selectors).
Your Tapcart contact enables
dynamic-yield-searchon your app and applies the configuration with you.Confirm App Studio search layouts use the platform search blocks (Product Grid, Sort and Filter Header, Search Results, Recommendations Carousel as needed).
Publish / release the app build that includes the Dynamic Yield search client, then QA on device or preview with your Tapcart contact.
Required merchant variables / credentials
Provide these values to your Tapcart Solutions contact (they apply them on your app):
Variable | Required? | Where to find it | Notes |
Client-side API key ( | Yes | DY → Setup → API Keys | Serve + collect; client-side only |
Region ( | Yes (defaults to | DY account data center |
|
Locale ( | Recommended | Match storefront locale | e.g. |
Product ID type ( | Yes | Match DY product feed | One of: |
Search mode ( | Recommended | DY Experience Search vs legacy |
|
Category ID type ( | Recommended | How DY categories are labeled |
|
Category handle map ( | Optional | Exceptions only | Map Shopify collection handle → DY category path, e.g. |
Recommendation selectors ( | Optional for search-only; required per rec slot used | DY → Campaigns (API selector names) | See selector keys below |
Recs product ID type ( | Optional | If choose campaigns use a different ID than search | e.g. search on |
Sort / filter options | Optional | DY facets + desired UI labels | Your Tapcart contact configures sort/filter options with you |
Test collection handle + search term | For QA | Your Shopify catalog | Used to validate browse + search |
Minimum search + browse config (example)
{ "name": "dynamic-yield-search", "enabled": true, "apiKey": "<DY client-side key>", "productIdType": "shopify_variant_id", "categoryIdType": "titlePath", "region": "us", "locale": "en_US", "searchMode": "semantic", "selectors": {} }Empty selectors is fine for search + collection browse without recommendation carousels.
Recommendation selector keys (when using Recommendations Carousel)
Map each App Studio recommendation intent to the exact DY API campaign selector name:
Tapcart selector key | Typical use |
| PDP similar products |
| PDP similar products (alternate selector name — use whichever matches your DY campaign) |
| PDP you may also like |
| Cart recommendations |
| Cart under free-shipping threshold (optional) |
| Cart complimentary (optional) |
| Empty search results |
| Homepage featured |
Important: Website RCOM widget IDs and website section IDs must not be pasted into Tapcart. Use the Experience API / Shopify section campaigns only.
How to Configure Dynamic Yield (Shopify + DY)
Once credentials are in Tapcart, finish vendor-side configuration:
Steps
In the Dynamic Yield Shopify app / Experience setup, confirm the Shopify / Experience section is linked (Section ID set), catalog sync credentials are present, and execution logs show successful syncs.
Confirm the product feed shows Active products and that sample SKUs match the Tapcart
productIdType(for example, Shopify variant IDs if that is what search hits return).For Experience Search, confirm Semantic Search returns results in DY preview for your Shopify section.
Create or verify Choose campaigns for any recommendation slots you plan to use; ensure strategies, product feed, context-item attribute, and fallbacks match the Shopify feed Tapcart sends.
Publish the relevant products / collections to the Shopify sales channel used by your Tapcart app so Storefront hydration succeeds.
How to use Dynamic Yield + Tapcart?
To complete configuration, set the integration on the app and wire App Studio layouts.
Search functionality
General search — Home / search layouts with a query use DY search (semantic or legacy per config). Required for search-powered experiences.
Collection / category browse — Collection PLPs use DY Browse with category filters derived from
categoryIdType/categoryHandleMap.Autosuggest / popular search — Typeahead and empty-query trending terms via the search client recommendation APIs.
Filtering & sorting — Facets and sort options come from DY responses (and optional
filter-options/sort-optionsin config).
Discovery / recommendations functionality
Recommendations Carousel — Add the platform Recommendations Carousel block; intents map to your
selectors(or an explicit selector override where supported).Trending Collections — Can route through the active search client when enabled.
Analytics
When Collect analytics is enabled for your app, Tapcart sends pageview, sort, filter, add-to-cart, and recommendation engagement events to Dynamic Yield. Your Tapcart contact can enable this after search QA.
Verification / QA tips
Smoke-test search with a known term that returns hits in DY preview for the Shopify section.
Smoke-test collection browse with a known collection handle; confirm products render (not empty after Shopify hydration).
If results return from DY but the grid is empty, check sales-channel publish and market / country on Storefront requests.
If browse/search returns HTTP 451, the key is the wrong type (server-side used from the client) — replace with a client-side Experience API key.
For recommendations, verify Choose returns non-empty slots on the API section (not only on the website section). Joint-QA products that exist on both the web feed and the Shopify / Experience Search feed.
Confirm
productIdType/recsProductIdTypematch feed IDs used by search hits vs choose campaigns.
Considerations
Tapcart talks to Dynamic Yield over the Experience API (REST). The DY website personalization script (
dy.js) is not embedded in the app WebView.Use the Shopify / Experience API section, not website-only section IDs or RCOM widget IDs.
Always use a client-side API key for the app.
Collection browse and recommendations depend on DY campaigns + an active catalog sync; Tapcart cannot invent results if DY returns zero hits or empty slots.
Products must be available to the Tapcart Storefront token after DY returns IDs.
Connection is Solutions-assisted. Dynamic Yield configuration is multi-step (API section, feed IDs, selectors), so Dashboard self-serve is not available at this time.
More Questions
If you have additional questions regarding the Dynamic Yield integration, we’re happy to help! Please reach out to us through LiveChat within your dashboard or email us at [email protected].
