Here's how to pull dynamic Instagram content into your Klaviyo emails:
Create an RSS feed from your Instagram account using an RSS feed generator, or Instagram's Basic Display API (Instagram's older/legacy API has been deprecated and no longer works). A common alternative is a third-party app like Klaviyo technology partner Foursixty, which is built specifically to generate Instagram feeds. How to use Instagram content in emails
Add the feed to Klaviyo as a custom web feed:
Insert custom HTML into your email template to pull in the feed dynamically. Add an HTML block to your template and use code like:
<div>{% for item in feeds.FEED_NAME.rss.channel.item|slice:":3" %}
<table style="display:inline-block; margin-left:auto; margin-right:auto">
<tbody><tr><td style="width:150px; text-align: center;">
<a href="{{ item.link }}">
<img style="max-width: 150px; height: auto;" src="{% if item|lookup:'media:content'|lookup:'0'|lookup:'@url' %}{{ item|lookup:'media:content'|lookup:'0'|lookup:'@url' }}{% else %}{{ item|lookup:'media:content'|lookup:'@url' }}{% endif %}" />
</a>
</td></tr></tbody>
</table>
{% endfor %}</div>
Replace FEED_NAME with the name you gave your feed (e.g., Instagram_Feed). This example pulls in the 3 most recent posts — adjust |slice:":3" to show more (e.g., |slice:":6"). How to use Instagram content in emails
If you already have a feed set up and it suddenly breaks, it's likely relying on Instagram's deprecated Legacy API. Check by going to Settings > Other > Web feeds, clicking your Instagram feed, and hitting Preview — an error there confirms the issue. Troubleshooting your Instagram web feed in emails
From our experience: most brands find it faster and more reliable long-term to use a dedicated third-party feed generator (like Foursixty) rather than maintaining raw API tokens themselves, since Instagram changes its API requirements periodically.