Skip to content

Ad Detection

Toxc edited this page May 10, 2026 · 1 revision

Ad Detection

ReelScroller skips Reels that display visible Instagram sponsorship labels. Detection is DOM-based and does not involve network requests or URL inspection.


How it works

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.


Detected labels

"Ad"
"Sponsored"
"Paid promotion"
"Advertisement"

These match the label text Instagram renders in the DOM for paid content.


Limitations

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 history

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.

Clone this wiki locally