Idukki connects to Klaviyo via OAuth and syncs your rights-cleared, product-tagged UGC into a Klaviyo product catalog. Each catalog item carries the matching photo/video, caption, and click-through link as custom metadata, so a flow you already have can look it up by product ID and render it inline.
Set up the connection
- Connect your Klaviyo account. In Idukki, go to Settings → Klaviyo Integration and click Connect to Klaviyo. You will be redirected to Klaviyo to authorise the connection, then back to Idukki.
- Sync your catalog. Once connected, click Sync now. This pushes every product with tagged UGC into your Klaviyo catalog. Re-run it any time new content gets tagged, or leave it to catch up automatically as content is tagged and rights are approved.
- Copy a template snippet. The same Klaviyo tab has a Template block library with a ready-made snippet for each flow: abandoned cart, cross-sell, and thank-you / post-purchase. Copy the one for the flow you want to enrich.
- Paste it into your existing flow. In Klaviyo, open the flow email you already have (for example, your "Started Checkout → No Order Placed" abandoned-cart flow), add a Custom HTML block, and paste the snippet inside the loop that already renders your cart or order line items.
{% for item in event.extra.line_items %}
{% assign ugc = item.ProductID | catalog_lookup: 'idukki-ugc' %}
{% if ugc.custom_metadata.ugc_thumbnail_url %}
<a href="{{ ugc.custom_metadata.ugc_click_url }}">
<img src="{{ ugc.custom_metadata.ugc_thumbnail_url }}" alt="{{ ugc.custom_metadata.ugc_caption }}">
</a>
{% endif %}
{% endfor %}Common questions
- Do I need to build a new flow in Klaviyo?
- No. The snippet is designed to be pasted into a flow you already have, inside the line-item loop your flow already uses.
- Will new UGC show up automatically?
- Yes, once a product has tagged, rights-approved UGC and the catalog has synced, the same snippet renders it on the next send. No need to edit the flow again.
- What if a product has no UGC yet?
- The block renders nothing for that product rather than a broken image, so it is safe to add to a live flow before every product has content.