Dynamic retargeting in Yandex.Direct enhances ad performance, but configuring it on Bitrix often causes trouble. A typical situation: product cards don't load in smart banners, even though the feed and metric are set up. The reason is a mismatch of the product ID in the YML feed and dataLayer. We help avoid such errors and set everything up turnkey. Our approach includes an audit of the current state, code modifications, and testing. As a result, you get CTR growth of up to 40% and a reduction in abandoned carts of 15–20%. Dynamic retargeting is 2–3 times better than standard retargeting in terms of CTR because it shows the user exactly the products they viewed.
| Retargeting Type | Average CTR | Setup Complexity |
|---|---|---|
| Standard | 10–15% | Low |
| Dynamic | 30–40% | Medium |
Why Is a Unified Product ID Important?
Yandex matches the product feed with view data using the ID. If the feed has <offer id="123"> but dataLayer passes id: "456", retargeting won't work. We use the information block element ID ($arResult['ID']) in both places. In rare cases, stores use an article number—then the identifier must be identical everywhere. ID mismatch causes 70% of smart banner issues.
How Does the YML Feed Affect Retargeting?
Configure the export via "Store → Product Export → Yandex.Market". In the feed parameters, specify:
| Parameter | Description | Recommendation |
|---|---|---|
id |
Unique product identifier | Use the information block element ID |
picture |
Absolute image URL | Accessible without redirects, minimum 600x600 |
url |
Canonical URL of the detail page | Without UTM tags, otherwise Yandex may not match |
price |
Current price | With or without discounts—set a consistent policy |
More details on the YML format can be found in the official Bitrix documentation.
How to Pass Events to Yandex.Metrica?
For retargeting to work, you need to enable e-commerce in the Metrica counter (ecommerce: true) and pass events to dataLayer. Example for a product view (in the catalog.element template):
window.dataLayer = window.dataLayer || []; dataLayer.push({ ecommerce: { detail: { products: [{ id: '<?= $arResult['ID'] ?>', name: '<?= CUtil::JSEscape($arResult['NAME']) ?>', price: <?= $arResult['CATALOG_PRICE_1']['PRICE'] ?? 0 ?>, category: '<?= $sectionName ?>' }] } } }); Events add (add to cart) and purchase are passed similarly. Bitrix has built-in integration with Yandex.Metrica—enable it in the web analytics settings. Some events (e.g., order) will be passed automatically via the bitrix:sale.checkout component. Verify that data reaches through the "Webvisor" report—it's the only way to ensure correctness.
How to Create Retargeting Segments?
Once data appears in Metrica (at least 1000 visitors over 28 days), create segments in Yandex.Audiences:
-
Viewed product, didn't buy — condition:
detailevent within 90 days, exclude those who reached the "Purchase" goal. -
Added to cart, didn't buy —
addevent, without the "Purchase" goal. - Purchased — "Purchase" goal—use to exclude from retargeting.
In Direct, create a "Smart Banners" campaign, connect the product feed and segments. Yandex will automatically select relevant cards.
Steps to Set Up a Smart Banner Campaign
- Create a YML product feed and ensure it's accessible via URL.
- Enable e-commerce in the Yandex.Metrica counter.
- Add the dataLayer code to the catalog, cart, and checkout templates.
- Wait for statistics to accumulate (at least 1000 visitors over 28 days).
- Create segments in Yandex.Audiences.
- Launch a "Smart Banners" campaign in Yandex.Direct, attaching the feed and segments.
Order a full cycle of setup from audit to launch. Our engineers guarantee correct operation. Setup starts at $500, and typical monthly savings on wasted ad spend exceed $200.
What's Included in Our Setup
- YML feed: configure export with correct fields, update agent, publication.
- Metrica counter: enable e-commerce, install on all pages.
- DataLayer: add
detail,add,purchaseevents to catalog and cart templates. - Segments: create three targeted segments in Yandex.Audiences.
- Campaign: create smart banners with feed and segment linkage, initial bids.
- Testing: verify correct display of cards and statistics.
- Documentation: description of all changes, identifier mapping, update recommendations.
We have configured dynamic retargeting for 50+ online stores on Bitrix. The average CTR increase for smart banners is 40%, and the percentage of abandoned carts decreases by 15–20%.
Common Errors and Solutions
- ID mismatch: check that the feed and dataLayer use the same identifier. Most often it's the information block element ID.
- Slow feed: enable caching of the YML file using
Bitrix\Main\Data\Cache. Update every 4 hours. - Empty segment: ensure events reach Metrica through the "Webvisor" report. If dataLayer isn't filling, check the JavaScript syntax.
- Smart banners not showing: verify the campaign is active, geotargeting is set, and feed is attached.
Contact us for a project assessment—we'll analyze the current state within one day. Get a consultation and an accurate proposal for dynamic retargeting setup.







