How to Embed an Instagram Feed on Shopify (Step-by-Step)
How to put a shoppable Instagram feed on a Shopify store with theme app blocks instead of pasted code: what Instagram's API changes mean for your account, which block to use on which template, how to keep it fast, and how to fix the usual install faults.
In this article
Most "embed an Instagram feed" tutorials stop at getting pictures onto a page. On a Shopify store that is the easy half. The half that decides whether the feed sells is where it sits, whether the posts are tagged to real products, and whether it slows your product pages down. This guide covers all three, using Shopify's own theme architecture rather than code pasted into `theme.liquid`.
Before you start: a five-minute checklist
- Theme type. In the theme editor, open a product template and click Add block inside a section. If you see an Apps group, your theme supports app blocks. If not, you are on a vintage theme or a section that doesn't accept them.
- Instagram account type. If you plan to pull your own posts through a tool that uses Meta's official API, the account must be a business or creator account. Switching is free in the Instagram app's account settings.
- Rights. Your own posts are yours to reuse. Customer posts and tagged content are not, until the creator agrees. Read how to collect UGC legally from Instagram and TikTok before you feature anyone else's photo.
- Catalogue. Tagging needs your products available to the feed tool. Decide now which 10 to 20 products you will tag first; usually your best sellers.
- Baseline. Run PageSpeed Insights on your homepage and two product pages before installing anything, and save the reports.
What changed with Instagram's API, and why it matters
On 4 December 2024 Meta retired the Instagram Basic Display API, the route most older feed widgets used to read a personal account's posts. Meta pointed developers to the Instagram API with Facebook Login or the newer Instagram API with Instagram Login, and the latter is built for "Instagram professionals: businesses and creators". Meta's own documentation also notes that the Instagram Login setup cannot access tagging, so a widget that shows posts you were tagged in needs a different connection.
In practice: if an old feed on your store froze in late 2024, this is the likely reason, and reconnecting a personal account will not fix it. Convert the account to business or creator and reconnect with a tool that supports the current API. Hashtag and mention content comes with its own rights questions regardless of which API fetches it (see the rights management workflow).
Step by step: from install to live feed
Instagram feed on Shopify with Idukki
- 01
Install the app
Install Idukki from the Shopify App Store. The app stores your account IDs on the shop, so its theme blocks can find your default widget without you typing IDs.
- 02
Add Instagram as a source
In the Idukki dashboard, add Instagram and choose what to pull: your own handle, reels, a hashtag, or posts you are tagged in.
- 03
Curate and tag
Build a collection from the imported posts, hide anything off-brand, and tag products on each post you keep.
- 04
Add the block
From the collection's publish step, open the theme editor and add the block for the page you want: gallery, product page or reels.
- 05
Check it live
Save, then view the published theme on a phone. The publish step can also scan your live theme to confirm the block is there.
The Shopify-specific part is step four. When your store is connected, Idukki's publish step offers direct links into the theme editor for each placement rather than a code snippet. The app ships separate blocks so the theme editor's block picker reads like a list of jobs:
| Block (theme editor name) | Type | Best template | What it does |
|---|---|---|---|
| Shoppable UGC Gallery | App block | Homepage, collection pages | Grid, carousel or other gallery layout for a whole collection of posts. |
| Product Page UGC | App block | Product template | Shows only posts tagged to the product being viewed. Add it once; every PDP filters itself. |
| Shoppable Video Reels | App block | Homepage, landing pages | Reel-style carousel for Instagram Reels and other vertical video. |
| Stories Bar (tap-through) | App block | Homepage, top of collections | Tap-through stories strip. |
| Floating Badge | App embed | Site-wide | Floating element that works on vintage and 2.0 themes. |
Each block has a Widget ID setting. Leave it empty to use the default widget the app configured, or paste a specific ID from your widget list when you want different collections on different pages. There are also legacy "Custom Embed" blocks for pasting code; you only need those for installs set up before the dedicated blocks existed.
If your theme is vintage
Shopify's documentation is explicit that app blocks only work where a theme has JSON templates and sections that render blocks of type `@app`. App embed blocks are different: they don't depend on sections, so they work on vintage and 2.0 themes alike, and they are switched off by default until you enable them under Theme settings, App embeds. For an inline gallery on a vintage theme you have two choices: upgrade to a 2.0 theme (the better long-term answer), or paste the embed code into a custom Liquid or HTML section, accepting that you now own that code through every theme update.
Placement: where an Instagram feed actually helps
A homepage feed tells visitors the brand is real. A product page feed answers the question the shopper is asking at that moment: what does this look like on someone like me? That second job is why the Product Page UGC block exists, and why it is worth more of your tagging effort than the homepage. Place it below the buy box but above reviews on mobile, where it is reachable without a long scroll. For layout options, Instagram Shopping versus on-site galleries explains why the on-site version is the one you control.
Tagging rule of thumb. Tag the products that are actually visible in the post, not the ones you wish were. One to three products per post keeps the shopping panel readable. AI tagging can suggest matches against your catalogue, but review the suggestions before publishing.
Performance: keep the feed off your Core Web Vitals
Instagram feeds are image-heavy, so the two risks are wasted downloads and layout shift. The gallery, product and reels blocks have a "Lazy load (mount when scrolled into view)" setting that is on by default: the widget doesn't mount until it is close to the viewport. Leave it on for anything below the fold. The one case to turn it off is a gallery that is the first thing a visitor sees.
Layout shift (CLS) happens when content appears and pushes the page down. Google counts a CLS of 0.1 or less as good. If a widget lands in a container with no height and then expands, everything under it jumps. Give the section a sensible minimum height through your theme's section settings or a custom CSS class (the blocks accept one), and test on a mid-range phone. Core Web Vitals and UGC widgets covers the measurement side in detail.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| No Apps group when adding a block | Vintage theme, or a section that doesn't accept app blocks | Try another section, use an app embed, or move to a 2.0 theme. |
| Block shows a setup placeholder in the editor | No widget ID and no default widget set yet | Open the Idukki app once so it saves your defaults, or paste a Widget ID into the block. |
| Product Page UGC is empty on some PDPs | No posts are tagged to that product | Tag posts to the product. The block is designed to show nothing, not an empty frame, on products with no tagged content. |
| Feed stopped updating in December 2024 | Tool relied on the retired Basic Display API | Switch to a business or creator account and reconnect with a supported tool. |
| Works in the editor, missing on the live site | Theme not published, or cached page | Publish the theme you edited, then hard-refresh. |
| Page jumps as the feed loads | Zero-height container | Reserve space with a minimum height on the section. |
FAQs
Can I embed an Instagram feed on Shopify for free?
Yes, several free options exist, including Shopify apps with free tiers and Instagram's own per-post embed code. Free tools usually show your own posts only and don't tag products, so the question is less cost than whether the feed needs to sell.
Do I need an Instagram business account?
For any tool that reads your posts through Meta's official API, yes: since the Basic Display API was retired in December 2024, the supported APIs are built for business and creator accounts. Converting is free and done in the Instagram app.
Should I paste the embed code into theme.liquid?
Avoid it on a 2.0 theme. App blocks install without editing theme files, can be positioned per template in the editor, and are removed with the app. Pasted code has to be carried manually through every theme change.
Will an Instagram feed slow down my Shopify store?
It can if every image loads on page load or the container has no reserved height. Use lazy loading for below-the-fold feeds, reserve space, and compare PageSpeed Insights before and after install.
Sources
- 1Meta for Developers: Update on Instagram Basic Display API (Sept 2024) · Basic Display API unavailable from 4 December 2024; migration paths
- 2Meta for Developers: Instagram API with Instagram Login · For professional accounts (businesses and creators); cannot access ads or tagging
- 3Shopify.dev: Configure theme app extensions · App block requirements; app embeds work on vintage and 2.0 themes
- 4Shopify.dev: About theme app extensions · Apps using the framework don't edit theme code
- 5web.dev: Cumulative Layout Shift (CLS) · Good CLS threshold of 0.1 or less
More from Rohin Aggarwal
- Strategy
Shoppable video vs traditional product video: a conversion breakdown
A traditional product video informs; a shoppable video converts. The difference is whether the shopper can act inside the video without leaving it.
- Strategy
Where to place shoppable video on your store for maximum lift
The product page is the highest-leverage placement for shoppable video: closest to the doubt. Homepage and collections do discovery. Here is the order to roll them out.
- Strategy
Why your product pages don’t convert, and the social-proof fixes
A product page with traffic but no sales is answering "is this nice?" when the shopper asks "will this be a mistake?". Social proof answers the second question.