When generating dynamic SmartBlocks, a version of the image and link is created for each new email address when they first request the SmartBlock, for example, by opening the email containing it. Any parameters that are passed through can affect the results returned, if, for example, they’re used in filters.
You must therefore ensure that any parameters merged into the URLs are identical, otherwise they can be out of sync.
Here's an example:
https://c1.dycdn.net/v2pv9yku/s/example/?k=spznvra&e=example1@test.com&ibin=0&format=dynamiclink
https://c1.dycdn.net/v2pv9yku/s/example/?k=spznvra&e=example2@test.com&ibin=0&format=dynamicimage
Both links have an e parameter—email—with an email address provided. You can also see a format parameter, which in the first example is the link URL and in the second is the image source URL.
Another parameter to note is ibin
, which is a reference to the link and image to use. In this case the value is zero, indicating the link and image are intended for the first product.
As the email addresses in the example differ, the first link returns the URL for the first product we generated for example1@test.com
, but the second shows the image for the first product we generated for example2@test.com
.
These could match, but
if there was a difference in time
there were filters that impacted the array of products on a per-person basis
the list of source products was updated, for example, the list of frequently browsed products has changed
there's a good chance the image and link generated for each email address is different.
In that case, an image is shown for one product, but the link points to another, as they have been taken from two separate collections.
It's easy enough to prevent this: just make sure all of the parameters in the image and link URLs are identical.
This is already the case when the system generates the URLs, so should only need to be changed if you manually modify them.