-
Notifications
You must be signed in to change notification settings - Fork 0
Ad Detection
ReelScroller skips Reels that display visible Instagram sponsorship labels. Detection is DOM-based and does not involve network requests or URL inspection.
When the extension is about to scroll to (or past) a Reel, the content script scans text nodes near the active Reel container. If any visible element contains a known ad label, the Reel is skipped.
The check is visibility-aware — hidden or off-screen elements are ignored to reduce false positives.
"Ad"
"Sponsored"
"Paid promotion"
"Advertisement"
These match the label text Instagram renders in the DOM for paid content.
Ad detection is inherently fragile against Instagram UI changes:
- If Instagram renames a label (e.g. changes
"Sponsored"to a different string), the label will no longer be detected. - If Instagram moves the label to a different DOM position relative to the Reel container, nearby-element scanning may miss it.
- If Instagram renders labels as images or obfuscated text, text-based detection will not work.
What to do if ads stop being skipped: Open
content_script_clean.js, find the ad label array, and update the strings to match what Instagram is currently rendering. You can inspect the label in Firefox DevTools by right-clicking a sponsored Reel and selecting Inspect.
| Version | Change |
|---|---|
| 0.1.1 | Initial ad detection using broad heuristics (ad links, call-to-action patterns). |
| 0.2.0 | Replaced broad heuristics with visible-label detection only. Reduced false positives significantly. |
| 0.2.1 | Added support for the short Ad span label used in some Instagram placements. |