Instagram feed for gym and fitness studio websites: classes, coaches and Reels
A gym’s Instagram account is usually its most up-to-date channel: class clips, new equipment, a coach demonstrating a lift, members finishing a challenge. Your website, meanwhile, may still show photos from opening day. An Instagram feed connects the two. But a gym feed has its own pitfalls: last January’s promotion, a class that no longer runs, a schedule posted as an image. This guide covers which posts help someone deciding whether to try your gym or studio, where to place a feed on each page, and how to filter it so the website shows what is true this month.
Updated October 12, 2026

Why a feed helps people choose a gym
Joining a gym or a studio is a small leap of faith. A prospective member wonders whether they will fit in, whether the classes match their level, what the coaches are like, and whether the place is busy, clean and friendly. Stock photos of perfect bodies do not answer those questions. Recent posts from your own floor do.
A feed on the website shows, without anyone updating the page, that classes are running this week, which coaches teach them and what a session looks like. For a studio that sells an experience, such as yoga, spin, boxing, Pilates or group training, that preview is often what moves someone from “maybe” to booking a first class.
What a feed should not carry is the information a visitor needs to act: opening hours, the class schedule, membership prices, the address, parking, what to bring and how to book. Put those in text on your pages or in your booking system. Captions are only visible when a visitor opens a post, and posts move down and out of the feed as you publish more.
Which posts belong on the website
Fitness accounts post a lot, and much of it is aimed at existing members: today’s workout, a reminder about a holiday schedule, a shout-out. Some of it is perfect for newcomers. Before setting up a feed, scroll your last few months of posts and sort them roughly like this:
| Post type | Good for the website? | Notes |
|---|---|---|
| Class clips and Reels | Yes | The best preview of what a session feels like |
| Coach introductions and demos | Yes | Builds trust before a first visit |
| Facility, equipment, changing rooms | Yes | Answers “is it clean and well equipped?” |
| Community events, challenges, milestones | Yes, recent ones | Shows a living community; old ones feel dated |
| Promotions and limited offers | Only while valid | An expired offer on the site causes awkward conversations at the front desk |
| Daily workout posts (WOD) | Usually not | Useful to members, repetitive to newcomers |
| Schedule changes and closures | No | Out of date within days |
| Member transformations | Only with clear consent | See the section on member photos below |
You do not need to change what you post. Social Feed by grip space lets each widget show only the posts you want, using filters for caption keywords, a date range, Reels and other post types. The next sections show how to set them up for a gym.
Recent posts only: the most useful gym setting
If you set only one filter, make it the date range. Each widget can show posts from any time, the last 30 days, the last 90 days or the last year. For a gym homepage, the last 30 or 90 days is a strong default, for three reasons:
- Coaches change. A trainer who left last spring should not be the face of your homepage.
- Class formats change. If you dropped the 6 a.m. spin class, old clips of it set the wrong expectation.
- Offers expire. A “join this month, no enrollment fee” post becomes a problem once the month is over.
The date range counts from the day each post was published. If you post several times a week, 30 days gives you plenty of posts. If you post once or twice a week, choose 90 days so the feed does not end up with only a few tiles. Check the live preview in “Settings & preview” after changing it; if fewer posts pass the filters than the number you set, the widget simply shows fewer.
Keep expired promotions off the website
Promotions are where gym feeds most often go wrong, because promo posts usually look great and get good engagement, so they tend to be your most eye-catching tiles. The fix is a caption keyword filter in “Exclude matching posts” mode.
- Decide on one hashtag for every promotional post, such as #offer or #promo, and add it to the caption of each one from now on.
- On the homepage widget, enter that hashtag in the caption keywords and choose “Exclude matching posts”. Promotional posts no longer appear there.
- If you want offers on the website, write the current offer as text on your pricing or membership page, where it can be changed or removed on the day it ends.
- For older promo posts that do not have the hashtag yet, edit their captions on Instagram to add it, or add the words they share as extra keywords, such as “% off” or “enrollment fee”.
Separate several keywords with commas: a post is hidden if its caption contains any of them. Case does not matter, and a keyword matches anywhere in the caption, including inside longer words. That makes short keywords risky: “sale” would also hide a post about a “wholesale” supplement brand, and “offer” would hide a post that says “we offer free towels”. A dedicated hashtag avoids those surprises.
Schedule page: class Reels under the timetable
The class schedule is often the most visited page on a fitness studio website. Visitors arrive with a question like “Is there an evening class I can make?” and leave with an answer, or not. The schedule itself must be real text or your booking tool’s embedded calendar, not an image of a timetable. W3C’s accessibility guidance recommends real text over images of text, because text can be resized and its colors adjusted without losing clarity, which matters for anyone reading your schedule on a phone.
Below the schedule, a slider of class Reels answers the follow-up question: what is this class actually like? Set up a widget like this:
| Setting | Suggested value | Why |
|---|---|---|
| Layout | Slider | Keeps the schedule page short; one row that visitors can swipe |
| Reels | Reels only | Shows movement, music and energy rather than still photos |
| Date range | Last 90 days | Only classes that are on the current schedule |
| Number of posts | 8–12 | Enough to cover your main class types |
| Click action | Lightbox | Visitors watch without leaving the page |
| Lightbox details | Caption on | The caption names the class and coach |
In the grid or slider, each video appears as its cover image with a play mark, so nothing plays until a visitor taps it. The lightbox then starts the video muted, with the usual controls to turn sound on. Some videos, for example some with licensed music, are not provided as video files by Instagram. Those show as a still image, and the lightbox offers a “View on Instagram” link to watch them there. Gym Reels often use popular music, so check your own preview to see how many of yours are affected.
One widget per class type
If your website has a page for each class type, such as HIIT, yoga, spin, boxing or kids’ classes, each page can show only posts about that class. Use the caption keyword filter in “Only matching posts” mode with the class hashtag you already use, or start using one now.
| Page | Caption keywords (Only matching posts) | Date range | Reels |
|---|---|---|---|
| Yoga | #yoga, #vinyasa, #yinyoga | Last year | All |
| Spin / cycling | #spin, #cycleclass | Last 90 days | Reels only |
| Boxing | #boxingclass, #boxfit | Last 90 days | All |
| Strength / barbell | #strengthclass, #barbellclub | Last 90 days | All |
| Kids and teens | #kidsclass | Last year | Exclude Reels |
| Personal training | #personaltraining, #pt | Last year | All |
Watch for keywords that are too short. “#pt” matches any hashtag that starts with those letters, not only your personal training posts, and plain “spin” would match “spinach” in a nutrition post. When in doubt, use the longer hashtag. You can also check the effect immediately in the preview, which shows exactly which posts pass.
After you create the first class widget, copy its settings to a new widget and change only the keywords. Each widget has its own embed code. The Free plan includes one widget, the Light plan three and the Standard plan an unlimited number; see the pricing section.
Coach pages: a feed for each trainer
People often choose a class because of the coach. A coaches or “Meet the team” page with a short bio per coach becomes much more convincing when each bio sits next to that coach’s recent posts. If coaches appear on the gym’s account, tag captions with a consistent hashtag per coach, for example #coachmaria, and create one widget per coach with that hashtag in “Only matching posts” mode.
Two practical notes. First, each widget shows posts from the gym’s connected account, not from the coach’s personal Instagram, and one feed cannot mix several accounts. Second, when a coach leaves, switch their widget to Unpublished in the dashboard. The embed code then shows nothing, so the page does not break while you update the bio.
Homepage: atmosphere after the essentials
The top of a gym homepage should state what you offer, where you are, and the next step: book a free class, start a trial, or see memberships. On phones, check that this call to action appears before the feed, not after it.
Below that, a grid of 6 to 9 recent posts in 3 columns gives a quick sense of the place. On narrow screens, the widget reduces the number of columns so tiles do not become too small, and with 3 columns most phones keep all three. Use these homepage settings as a starting point:
- Date range: last 30 or 90 days.
- Exclude matching posts: your promo hashtag, plus words you use for closures and schedule changes, such as “closed” and “schedule change”.
- Daily workout posts: if you post a WOD every day, add its hashtag (for example #wod) to the excluded keywords so it does not fill the homepage.
- Account header: on, with a follow button whose text you choose, for example “Follow for class clips”. You can also set its color to match your brand.
- Hover: the Instagram icon on hover tells desktop visitors that tiles open.
For placement advice that applies to any website, see where to put an Instagram feed on your website. To decide between grid and slider, see grid or slider.
First visit or free trial page
Many gyms have a page aimed at nervous beginners: what to expect, what to wear, how the first session works. This is a great place for a feed of facility and welcome posts, because it shows the actual door, front desk and changing rooms the visitor will walk into. Use a hashtag such as #firstvisit or #insidethegym on those posts and filter the widget to it. A short slider placed right before the booking button works well.
Here, “Exclude Reels” and a calm photo grid can be the better choice. High-intensity clips that excite regulars can intimidate someone who has not trained in years. Decide based on who reads that page.
Member photos and consent
Gym content often features members: in class, at a milestone, in a before-and-after. Putting a feed on your website shows those posts to a wider audience than your Instagram followers. Make sure members who appear have agreed to be featured on your channels, and follow whatever your local rules and your own membership terms require. We do not give legal advice; if you are unsure, ask a qualified advisor.
If a member asks to be removed, delete or edit the post on Instagram. If you need the website to stop showing a post before the next feed update, switch the widget to Unpublished for the moment. Before-and-after posts deserve extra care; many gyms keep them off the website entirely by excluding a hashtag such as #transformation.
Yoga studios, CrossFit boxes and personal training: differences
Yoga, Pilates and barre studios usually want a calm look. Consider a grid that excludes Reels, slightly larger image spacing, and the like count turned off in the lightbox. Classes with a long-running format can use “Last year” instead of 90 days.
CrossFit boxes and functional training gyms often post daily workouts. Keep those for members on Instagram and exclude the WOD hashtag on public pages; show competitions, community events and coaching instead.
Personal training studios sell individual coaching. A coach-by-coach setup, as described above, usually beats a single homepage feed.
Gyms with several locations on one Instagram account can give each location page its own widget filtered to that location’s hashtag or name. If each location has its own Instagram account, remember that one feed shows one account.
Display settings for fitness content
- Vertical video in square tiles. Tiles are always square and cropped to the center. Class Reels are usually tall, so a coach standing at the edge of the frame can be cut off in the tile. Choose a cover where the action is in the middle; the lightbox shows the full frame.
- Exercise carousels. Posts that walk through a movement step by step are usually carousels. Set carousel posts to show all images in the lightbox, so visitors can follow the sequence with arrows. The tile shows the first image, so make it the one that names the exercise.
- Captions in the lightbox. Keep them on for class and coach pages, where the caption tells visitors which class or coach they are looking at.
- Width. You can set a maximum width for the widget. On a wide schedule page, limiting the feed to the same width as the timetable keeps the page tidy.
- Font size and spacing. Adjust the font size of the widget’s text to match your site, and use small gaps between tiles for an energetic, dense look or larger gaps for a calmer studio feel.
How fast new posts appear
On the Free plan, the feed on your website is updated once a day, so a class clip posted this morning may take up to about a day to appear. On the paid plans (Light and Standard), new posts appear without that daily wait. For most gyms the daily update is fine. If you run time-sensitive content, such as a weekend challenge, a paid plan avoids the lag, but the dates and rules still belong in page text.
If posts never appear, see Instagram feed not updating on your website.
Setting it up, step by step
- Make sure your gym’s Instagram account is a professional account (Business or Creator). See the guide to professional accounts.
- Create a Social Feed account and connect Instagram.
- Create a widget, choose grid or slider, set columns and the number of posts (up to 16 on Free, 30 on Light, 50 on Standard), then add filters.
- Copy the embed code, a single script tag, and paste it where the feed should appear: WordPress, Wix, Squarespace, Webflow, Shopify or HTML. If your site is part of a gym management or booking platform, it needs to allow custom HTML or script embeds; check your plan or ask the provider.
- Open the live page on a phone and confirm that the schedule, prices and booking button come before the feed.
Troubleshooting
| What you see | Likely cause | Fix |
|---|---|---|
| Old promo still showing | Promo hashtag missing from its caption | Edit the caption on Instagram or add a keyword it contains |
| Class page shows unrelated posts | Keyword too short, matching inside other words | Use a longer, unique hashtag |
| Class page is empty | No posts with that keyword in the date range | Widen the date range or check the hashtag spelling |
| A Reel shows as a still image | Instagram does not provide the video file for that post | Visitors can watch it via “View on Instagram” |
| WOD posts fill the homepage | Daily posts outnumber others | Exclude the WOD hashtag on that widget |
| Nothing shows at all | Widget unpublished, script stripped, or another cause | Follow the full checklist |
The full checklist is in Instagram feed not showing on your website. For more on video, see showing Instagram Reels on your website.
Frequently asked questions
Can the feed show posts where members tag the gym? No. It shows posts from your own connected account only, not tagged posts, other accounts or hashtag searches. With the member’s permission, repost their content to your account.
Can it show our Stories, for example today’s class reminders? No, Stories are not shown. Post important updates to your feed or, better, to your website directly.
Can visitors book a class from the feed? No. Tiles open the post in a lightbox or on Instagram. Put your booking button or booking tool next to the feed.
Will the feed slow down the schedule page? It adds images. In a grid, only the first row loads immediately and the rest load as visitors scroll near them; a slider loads its images right away, so keep the slider’s post count moderate. Placing the feed below the schedule keeps the important part fast.
What about view limits? The Free plan includes 3,000 widget views per month, Light 30,000, and Standard is unlimited. A single busy month, such as January, does not switch the widget off: it stops showing only if you go over the limit two months in a row, starting the month after that.
Comparing options? See our Instagram feed widget comparison and what the free plan includes.
Sources
- W3C Web Accessibility Initiative, “Images of Text”: https://www.w3.org/WAI/tutorials/images/textual/
- W3C Web Accessibility Initiative, “Captions/Subtitles”: https://www.w3.org/WAI/media/av/captions/
- Instagram Help Center, “Add, edit or delete the caption of an existing Instagram post”: https://help.instagram.com/1490745927855762
Get your embed code in a few minutes. The Free plan needs no credit card.
Sign up freeMore articles

Should photographers add an Instagram feed to their portfolio website?
An honest guide for photographers: what an Instagram feed adds to a portfolio site, how tiles crop your images, what the lightbox shows, and where it fits.
Read the article →
Instagram feeds for wedding vendors: planners, florists, venues and more
How wedding planners, florists, venues and other vendors can use an Instagram feed as proof of real weddings, with filters by season, venue and service.
Read the article →
Using an Instagram feed on your online store (without shoppable tags)
An Instagram feed on an online store works as an inspiration gallery, not a catalog. Where to place it, filters for collections, and what it cannot do.
Read the article →
Instagram feed for nonprofit and charity websites
How nonprofits and charities can use an Instagram feed: campaign and event updates, the donate page, keyword filters per campaign, and photo consent.
Read the article →
Adding an Instagram feed to a school or university website
How schools, colleges and universities can add an Instagram feed: which pages, one widget per audience, filters, student-photo care and accessibility.
Read the article →
How to filter an Instagram feed by keyword on your website
Show only certain Instagram posts on your website, or hide some, with a caption keyword filter. How matching works, hashtag tag ideas and fixes.
Read the article →