Instagram Paid Partnership Posts: How Common They Are and How They Perform
Sponsored posts on Instagram got about half the engagement of the same creators' other posts. Posts with the "Paid partnership" label earned a median of 0.46 times the account's usual likes and comments.
The label is how we found the sponsored posts. The sponsorship, not the label, most likely explains the gap: ads usually interest people less than a creator's own content.
We looked at 3,702 posts from the past six months across 170 Instagram accounts in 15 niches, pulled in October 2026. We checked which posts carried Instagram's paid partnership label, how creators also disclosed in their captions, and how sponsored posts performed.
Key findings
- Sponsored posts are a small share of what creators post. 46 posts, 1.2% of the total, carried the label. 29 of the 170 accounts used it at least once.
- Sponsored posts got about half the usual engagement: 0.46 times the account's normal likes and comments, against 1.02 for the same accounts' other posts.
- Bigger accounts use the label more. 0.3% of posts from accounts under 10,000 followers carried it, against 1.2% to 1.6% for larger accounts.
- The label often does the job alone. For 24 of the 46 labeled posts, the caption said nothing about the partnership. The label was the disclosure.
What the paid partnership label is
When a creator tags a brand with Instagram's branded content tool, the post shows "Paid partnership with [brand]" above the image. Instagram says the tag is required for branded content. The brand can then see the post's results and turn it into an ad.
It's also public. The label shows on the post, and it's available as a field in the post's data, which is how we could count it across thousands of posts.
Sponsored posts get about half the engagement
We compared each labeled post with the same account's usual post, on the 22 accounts that had both labeled and unlabeled posts in the period.
| Posts | Count | Vs the account's usual | Got 2x the usual |
|---|---|---|---|
| Paid partnership | 31 | 0.46 | 13% |
| Same accounts, other posts | 390 | 1.02 | 23% |
The whole 95% range for labeled posts sits well below 1.0, from 0.25 to 0.67, so this isn't a fluke of a few posts.
This doesn't mean the label itself costs engagement. The posts carrying it are ads, and ads usually interest people less than a creator's own content. But for planning, the effect is the same: a sponsored post from a creator should be expected to get about half their normal likes and comments, not their average.
How creators disclose
Creators can disclose a partnership in two ways: Instagram's label, or words in the caption such as #ad, #sponsored or "in partnership with." Many do both.
Of the 46 labeled posts, 22 also had a sign of the partnership in the caption, such as #ad or a discount code. The other 24 relied on the label alone.
For a brand checking a creator's history, the label is the clearest signal. It's a field on the post, so there's nothing to interpret. Captions are harder to read. A discount code isn't proof of a paid deal: some codes are for the creator's own products, and some are affiliate links. That's why this study counts sponsored posts by the label, not by caption text.
Which accounts use the label
Use of the label rose with account size. 0.3% of posts from accounts under 10,000 followers carried it, against 1.2% to 1.6% for larger accounts. That fits, since bigger accounts tend to get more brand deals. Sponsored posts were most common in pets, fitness and travel.
What this means
For brands and agencies:
- Plan on half. Price and forecast sponsored posts at about half of a creator's usual engagement, then reward creators who beat it.
- Check a creator's past sponsored posts. Their usual engagement says little about how their ads perform. Compare their labeled posts with their other posts before you sign.
- Ask for the label. It lets you see the post's results and run it as an ad, and it's what Instagram expects.
For creators:
- Use the label and say it in the caption. Instagram asks for the label. In the US, the FTC's guidance for influencers asks for a clear disclosure people will notice, such as "ad" or "sponsored." Doing both covers both.
- Expect sponsored posts to do less well. That's normal. Judge a partnership on results for the brand, not on likes compared with your best posts.
Check a creator's sponsored posts
Each post in the Instagram posts endpoint carries an is_paid_partnership field. This compares a creator's labeled posts with the rest. In JavaScript (Node 18 or later, as an .mjs file):
const API = "https://api.sociavault.com/v1/scrape";
const HEADERS = { "x-api-key": process.env.SOCIAVAULT_API_KEY };
// Lists can come back as arrays or as objects with numbered keys
const asList = (x) => (Array.isArray(x) ? x : Object.values(x ?? {}));
const median = (xs) => {
const s = [...xs].sort((a, b) => a - b);
const mid = Math.floor(s.length / 2);
return s.length % 2 ? s[mid] : (s[mid - 1] + s[mid]) / 2;
};
const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
const engagement = (p) => (p.like_count ?? 0) + (p.comment_count ?? 0);
async function posts(handle, pages = 3) {
const out = [];
let cursor;
for (let page = 0; page < pages; page++) {
const params = new URLSearchParams({ handle });
if (cursor) params.set("next_max_id", cursor);
const res = await fetch(`${API}/instagram/posts?${params}`, {
headers: HEADERS,
});
if (!res.ok) throw new Error(`HTTP ${res.status}: ${await res.text()}`);
const data = (await res.json()).data ?? {};
out.push(...asList(data.items));
cursor = data.next_max_id;
if (!cursor) break;
await sleep(1000);
}
return out;
}
const items = (await posts("natgeo")).filter(
(p) => !p.like_and_view_counts_disabled,
);
const usual = median(items.map(engagement));
const paid = items
.filter((p) => p.is_paid_partnership)
.map((p) => engagement(p) / usual);
console.log(`${paid.length} paid partnership posts out of ${items.length}`);
if (paid.length)
console.log(
`they got ${median(paid).toFixed(2)}x the account's usual engagement`,
);
And in Python:
import os
import time
from statistics import median
import requests
API = "https://api.sociavault.com/v1/scrape"
HEADERS = {"x-api-key": os.environ["SOCIAVAULT_API_KEY"]}
def as_list(x):
# Lists can come back as lists or as dicts with numbered keys
return list(x.values()) if isinstance(x, dict) else (x or [])
def engagement(p):
return (p.get("like_count") or 0) + (p.get("comment_count") or 0)
def posts(handle, pages=3):
out, cursor = [], None
for _ in range(pages):
params = {"handle": handle}
if cursor:
params["next_max_id"] = cursor
r = requests.get(f"{API}/instagram/posts", headers=HEADERS, params=params, timeout=60)
r.raise_for_status()
data = r.json().get("data") or {}
out += as_list(data.get("items"))
cursor = data.get("next_max_id")
if not cursor:
break
time.sleep(1)
return out
items = [p for p in posts("natgeo") if not p.get("like_and_view_counts_disabled")]
usual = median(engagement(p) for p in items)
paid = [engagement(p) / usual for p in items if p.get("is_paid_partnership")]
print(f"{len(paid)} paid partnership posts out of {len(items)}")
if paid:
print(f"they got {median(paid):.2f}x the account's usual engagement")
Three pages cover about 36 posts for 3 credits. For a wider view of how to map a brand's creator partnerships, see how to map a competitor's creator roster.
How we did it
- Accounts: 170 Instagram accounts across 15 niches and four follower bands, found through hashtag search, with about 24 recent posts each, pulled on 19 October 2026 with SociaVault's Instagram posts endpoint.
- Label: a post counts as labeled if its
is_paid_partnershipfield was true. We counted posts up to 180 days old: 3,702 in total. - Cues: text matches in the caption for #ad, #ads, #sponsored, #paidpartnership, "sponsored by," "in partnership with," "paid partnership," #gifted, "gifted by," #ambassador, "use code," "use my code," "discount code," "promo code," "affiliate link" and "code" followed by a code.
- Performance: likes plus comments divided by the account's median, on posts 3 to 180 days old with visible likes, for the 22 accounts that had both labeled and unlabeled posts.
- Cost: part of the 528 credits behind our Instagram format study.
Limits. The counts are small: 46 labeled posts. Caption matching misses disclosures written in other ways and catches codes that aren't sponsorships. We only see public likes and comments, not reach or sales, which is what a sponsorship is usually for. We report totals only and don't name any account.
Frequently Asked Questions
What is the paid partnership label on Instagram?
It's the "Paid partnership with [brand]" line that appears above a post when a creator tags a brand with Instagram's branded content tool. Instagram says it's required for branded content.
Do paid partnership posts get less engagement?
In our data, yes. Sponsored posts got a median of 0.46 times the same account's usual likes and comments. That's most likely because they're ads, not because of the label itself.
Is #ad enough on Instagram?
Instagram asks creators to use its paid partnership label for branded content. In the US, the FTC asks for a clear disclosure people will notice, such as "ad" or "sponsored." Using both covers both.
How common is the paid partnership label?
1.2% of the posts we checked carried it, and 17% of accounts used it at least once in six months. Most of what people see from creators isn't sponsored.
How can I tell if a post is a paid partnership?
Look for "Paid partnership with" above the post. In API data, check the post's is_paid_partnership field.
Vetting creators for a campaign? Sign up for 50 free credits and check how their past sponsored posts performed.
Found this helpful?
Share it with others who might benefit
Ready to Try SociaVault?
Start extracting social media data with our powerful API. No credit card required.