https://www.instagram.com/reels/Dcmj2-CM4Z8/
This is a sponsored reel that appears in the Reels feed. The issue happens when clicking the "Reels" option/tab on Instagram web — sponsored reels get mixed into the feed.
Description:
On Instagram web, when I click "Reels" in the sidebar, I frequently get ads (sponsored reels) mixed into the feed instead of only organic content. This happens consistently, not just on this specific reel.
I'm on Firefox 158 with uBlock Origin 1.75.0. Advanced user mode is enabled, user filters are trusted, and allowGenericProceduralFilters is on. I have the default uBO lists plus several AdGuard lists enabled (adguard-generic, adguard-cookies, ublock-cookies-adguard, fanboy-cookiemonster, etc.).
The uBO popup shows 7 blocked items on this page (6 on instagram.com, 1 on facebook.com), and the extended filters already include several json-prune, json-edit, and jsonl-edit-xhr-response scriptlets targeting Instagram's sponsored content — but ads are still getting through.
Steps to reproduce:
- Open Instagram web while logged in.
- Click "Reels" in the left sidebar.
- Scroll through the Reels feed.
- Sponsored reels appear mixed into the feed.
Troubleshooting information:
uBlock Origin: 1.75.0
Firefox: 158
filterset (summary):
network: 294548
cosmetic: 189067
scriptlet: 70760
html: 4271
listset (total-discarded, last-updated):
added:
https://filters.adtidy.org/extension/ublock/filters/2.txt: 192483-7336, 4d.19h.7m
https://raw.githubusercontent.com/DandelionSprout/adfilt/refs/heads/master/LegitimateURLShortener.txt: 3122-0, 11h.39m
adguard-generic: 104771-104771, 4d.19h.6m
adguard-cookies: 40942-110, 4d.19h.7m
ublock-cookies-adguard: 5857-83, 3d.22h.34m
fanboy-cookiemonster: 48254-4062, 3d.22h.34m
ublock-cookies-easylist: 5856-5856, 6d.13h.9m
fanboy-thirdparty_social: 69-0, 5d.21m
easylist-annoyances: 5281-67, 6d.13h.9m
easylist-chat: 288-0, 5d.21m
fanboy-ai-suggestions: 330-7, 5d.21m
easylist-newsletters: 9631-41, 6d.13h.9m
[2 lists not shown]: [too many]
default:
user-filters: 76-0, never
ublock-filters: 55138-76, 1h.51m Δ
ublock-badware: 10384-152, 1h.51m Δ
ublock-privacy: 4160-95, 1h.51m Δ
ublock-unbreak: 2902-120, 1h.51m Δ
ublock-quick-fixes: 672-69, 1h.51m Δ
easylist: 89174-87297, 1h.51m Δ
easyprivacy: 56828-9, 1h.51m Δ
urlhaus-1: 123230-11, 11h.39m
plowe-0: 3551-1068, 10d.22h.51m
filterset (user): [array of 64 redacted]
trustedset:
added: [array of 4 redacted]
switchRuleset:
added: [array of 1 redacted]
userSettings:
advancedUserEnabled: true
cloudStorageEnabled: true
userFiltersTrusted: true
hiddenSettings:
allowGenericProceduralFilters: true
trustedListPrefixes: ublock- adguard-
userResourcesLocation: [redacted]
supportStats:
allReadyAfter: 519 ms (selfie)
maxAssetCacheWait: 195 ms
cacheBackend: indexedDB
popupPanel:
blocked: 7
network:
instagram.com: 6
facebook.com: 1
extended:
##._aagv[style^="padding-bottom:"] + [class]
##[class]:style(-webkit-touch-callout: default !important; -webk…
##body:style(overflow: visible!important;)
##+js(set-constant, _sharedData.is_whitelisted_crawl_bot, true)
##+js(set-session-storage-item, loggedOutCTAIsShown, 1)
##+js(set-session-storage-item, lodum, 1)
##+js(trusted-click-element, button._a9_1, '', 1000)
##+js(json-prune, data.xdt_injected_story_units.ad_media_items)
#@#+js(prevent-clipboard-write, /^ms(hta|iexec)(\.exe)? |^(bash …
##+js(json-prune, require.0.3.0.__bbox.define.[].2.is_linkshim_s…
##+js(trusted-prevent-dom-bypass, Element.prototype.prepend, XML…
##+js(trusted-prevent-dom-bypass, Element.prototype.prepend, Obj…
##+js(trusted-prevent-dom-bypass, Element.prototype.insertAdjace…
##+js(trusted-prevent-dom-bypass, Element.prototype.before, XMLH…
##+js(trusted-prevent-dom-bypass, Element.prototype.before, Obje…
##+js(trusted-prevent-dom-bypass, Element.prototype.append, XMLH…
##+js(trusted-prevent-dom-bypass, Element.prototype.append, Obje…
##+js(trusted-prevent-dom-bypass, Element.prototype.after, XMLHt…
##+js(trusted-prevent-dom-bypass, Element.prototype.after, Objec…
##+js(trusted-prevent-dom-bypass, Node.prototype.insertBefore, X…
##+js(trusted-prevent-dom-bypass, Node.prototype.insertBefore, O…
##+js(trusted-prevent-dom-bypass, Node.prototype.appendChild, XM…
##+js(trusted-prevent-dom-bypass, Node.prototype.appendChild, Ob…
##+js(trusted-prevent-dom-bypass, Element.prototype.after, Funct…
##+js(trusted-prevent-dom-bypass, Element.prototype.after, JSON.…
##+js(trusted-prevent-dom-bypass, Element.prototype.before, Func…
##+js(trusted-prevent-dom-bypass, Element.prototype.before, JSON…
##+js(trusted-prevent-dom-bypass, Element.prototype.prepend, Fun…
##+js(trusted-prevent-dom-bypass, Element.prototype.prepend, JSO…
##+js(trusted-prevent-dom-bypass, Element.prototype.append, Func…
##+js(trusted-prevent-dom-bypass, Element.prototype.append, JSON…
##+js(trusted-prevent-dom-bypass, Node.prototype.insertBefore, F…
##+js(trusted-prevent-dom-bypass, Node.prototype.insertBefore, J…
##+js(trusted-prevent-dom-bypass, Node.prototype.appendChild, Fu…
##+js(trusted-prevent-dom-bypass, Node.prototype.appendChild, JS…
##+js(jsonl-edit-xhr-response, .data.viewer.news_feed.edges.*[?.…
##+js(jsonl-edit-xhr-response, ..node[?.*.__typename=="Sponsored…
##+js(jsonl-edit-xhr-response, .data[?.category=="SPONSORED"].no…
##+js(json-edit, ..nodes.*[?.sponsored_data])
##+js(json-edit, ..node[?.*.__typename=="SponsoredData"])
##+js(json-prune, require.0.3.0.__bbox.require.[].3.1.__bbox.res…
##+js(json-edit, ..data.viewer..nodes.*[?.__typename=="AdsSideFe…
##+js(json-prune-xhr-response, data.viewer.sideFeedUnit.nodes.[]…
##+js(jsonl-edit-xhr-response, ..node[?.__typename=="Marketplace…
##+js(json-edit, ..node[?.__typename=="MarketplaceFeedAdStory"])
##+js(json-prune-xhr-response, data.viewer.instream_video_ads da…
##+js(remove-class, prevent-scrolling, body, stay)
##+js(trusted-click-element, [role="dialog"]:has([href="https://…
##+js(remove-class, _31e, body > ._li)
Tested with all other extensions disabled? [Yes]
Account required to view the issue? Yes — you need to be logged into Instagram to see the Reels feed with ads.
Language: English
TL;DR: Sponsored reels appear in the Instagram Reels feed on web despite uBO 1.75.0 with all default + AdGuard lists and advanced user mode enabled. Existing json-prune/json-edit scriptlets aren't catching these.