Skip to main content

Dynamic Yield + Tapcart Integration

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:

  1. 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).

  2. Data center — Confirm whether your DY account is US or EU. This must match the Tapcart region setting.

  3. 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).

  4. 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.

  5. Search — For Experience Search merchants, confirm Semantic Search is live on the Shopify section. Tapcart uses the Experience Search API when searchMode is set to semantic.

  6. 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).

  7. 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)

  1. Reach out to your Tapcart Solutions / Account contact (or LiveChat) to start a Dynamic Yield enablement.

  2. 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).

  3. Your Tapcart contact enables dynamic-yield-search on your app and applies the configuration with you.

  4. Confirm App Studio search layouts use the platform search blocks (Product Grid, Sort and Filter Header, Search Results, Recommendations Carousel as needed).

  5. 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 (apiKey)

Yes

DY → Setup → API Keys

Serve + collect; client-side only

Region (region)

Yes (defaults to us)

DY account data center

us or eu

Locale (locale)

Recommended

Match storefront locale

e.g. en_US, en_AU

Product ID type (productIdType)

Yes

Match DY product feed sku / IDs

One of: handle, shopify_id, sku, shopify_variant_id

Search mode (searchMode)

Recommended

DY Experience Search vs legacy

semantic for Experience Search; legacy otherwise

Category ID type (categoryIdType)

Recommended

How DY categories are labeled

handle, id, title, or titlePath (breadcrumb titles)

Category handle map (categoryHandleMap)

Optional

Exceptions only

Map Shopify collection handle → DY category path, e.g. "bags": ["Bags"]

Recommendation selectors (selectors)

Optional for search-only; required per rec slot used

DY → Campaigns (API selector names)

See selector keys below

Recs product ID type (recsProductIdType)

Optional

If choose campaigns use a different ID than search

e.g. search on shopify_variant_id, recs on sku

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

productSimilar

PDP similar products

product

PDP similar products (alternate selector name — use whichever matches your DY campaign)

productYouMayAlsoLike

PDP you may also like

cart

Cart recommendations

cartFreeShipping

Cart under free-shipping threshold (optional)

cartComplimentary

Cart complimentary (optional)

emptySearch

Empty search results

homepage

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

  1. 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.

  2. 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).

  3. For Experience Search, confirm Semantic Search returns results in DY preview for your Shopify section.

  4. 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.

  5. 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-options in 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

  1. Smoke-test search with a known term that returns hits in DY preview for the Shopify section.

  2. Smoke-test collection browse with a known collection handle; confirm products render (not empty after Shopify hydration).

  3. If results return from DY but the grid is empty, check sales-channel publish and market / country on Storefront requests.

  4. 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.

  5. 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.

  6. Confirm productIdType / recsProductIdType match 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].

Did this answer your question?