IdukkiIdukki
Skip to content
Widgets + layouts

Show customer posts on collection-grid product cards

Add one line to a collection page and every product card with customer posts gets a small badge: the top post’s thumbnail and how many posts it has.

4 min read · last updated 2026-10
On this page

Shoppers decide which product to open from the collection grid. The tiles embed puts a small badge on each product card that has customer photos or videos: the thumbnail of the top post (a pinned post first, then the newest) and the number of posts, for example “12 customer photos”. Cards with nothing tagged are left exactly as they are.

Add tiles to a collection page

  1. Add the tiles mount once per page. Anywhere on the collection page template, add the mount and the Idukki script (skip the script line if the page already loads it for another widget).
  2. Mark each product card. Add data-idk-product-id with the store’s product id to the element that wraps each product card. In a Shopify card snippet that is {{ product.id }}.
  3. Check the page. Open the collection on your live store. Cards for products with posts show the badge in the bottom-left corner.
<!-- Once on the collection page -->
<div data-ugc="idukki" data-idk-tiles data-bguid="YOUR_BGUID"></div>
<script src="https://idukki-cdn.com/version/script_0" async></script>

<!-- On each product card (Shopify Liquid shown) -->
<div class="card" data-idk-product-id="{{ product.id }}">
  …your existing card markup…
</div>

Options on the mount

AttributeWhat it does
data-idk-tiles-positionWhere the badge sits on the card: bottom-left (default), bottom-right, top-left or top-right.
data-labelBadge text for several posts, with {count} for the number. Default: {count} customer photos.
data-label-oneBadge text for one post. Default: 1 customer photo.
data-pidsExtra product ids to ask about, comma-separated, for cards you cannot add an attribute to.
  • The widget asks about every card in one request (in batches of 48 products), and picks up cards added later by infinite scroll or filters.
  • The badge sits inside the card, so it follows the card’s own link. Restyle it with the .idk-tile-badge class.
  • The same visibility rules as the product page widget apply: hidden, pending, rejected and flagged posts are never counted, and a post imported into several collections counts once.
  • If the request fails, the page is left exactly as it was.

Common questions

A new post is not on the badge yet.
Badge data is cached for a few minutes. Give it about ten minutes after approving a post.
Nothing shows on my test build.
Tiles are served from the live widget host only, so the staging or test build of the widget shows no badges. Check on your live store.
Was this page helpful?

Still stuck?

Email us at support@idukki.io or open the in-app chat. We answer within one working day.

Talk to a human

Related guides

4-min setupDTC + B2B brands37 KB runtimeReal G2 reviews

Stuck?

A real human is faster than a search box.

In-app chat replies under 5 minutes during EU + US business hours. Status of a ticket? Email support@idukki.io and we’ll surface it.

  • No credit card
  • Cancel anytime
  • GDPR + SOC 2 (in audit)

We use cookies

We use essential cookies to run this site and optional analytics cookies to understand how it’s used. You can change your choice anytime in our privacy policy.