Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Google Tag Manager tracker URLs are blocked #1749

Closed
GRadziejewski opened this issue Jul 17, 2024 · 3 comments
Closed

Google Tag Manager tracker URLs are blocked #1749

GRadziejewski opened this issue Jul 17, 2024 · 3 comments
Assignees

Comments

@GRadziejewski
Copy link
Contributor

GRadziejewski commented Jul 17, 2024

Description
After a new installation of the add-on, the Google Tag Manager tracker is blocking URLs. It should not.

Steps to Reproduce

  1. Install the add-on
  2. Open https://www.fandom.com/
  3. Look for any tracker from an essential category, for example Google Tag Manager
  4. Look at the tracker URLs - they are blocked (but they should not)

image

Expected results
When the tracker is trusted, URLs must be observed.
When the tracker is blocked, URLs must be blocked.

Versions

Browser: Chrome 126.0.6478.127
OS: Windows 10
GBE 10.3.13
@GRadziejewski GRadziejewski added the Bug Something isn't working label Jul 17, 2024
@philipp-classen
Copy link
Member

philipp-classen commented Jul 17, 2024

The "fixes" DNR list has this entry (locally reproduced, so the ID might change):

  {
    "id": 1507,
    "action": {
      "type": "block"
    },
    "condition": {
      "urlFilter": "||googletagmanager.com/gtm.js",
      "initiatorDomains": [
        "fandom.com"
      ],
      "isUrlFilterCaseSensitive": false
    },
    "priority": 1000201
  }

Where this rule comes from, is not clear yet.

@philipp-classen
Copy link
Member

philipp-classen commented Jul 17, 2024

In the Chrome release, it is this rule (from the "fixes" DNR list):

  {
    "id": 1501,
    "action": {
      "type": "block"
    },
    "condition": {
      "urlFilter": "||googletagmanager.com/gtm.js",
      "initiatorDomains": [
        "fandom.com"
      ],
      "isUrlFilterCaseSensitive": false
    },
    "priority": 1000201
  },

@philipp-classen
Copy link
Member

To sum up our findings:
TrackerDB classifies the request as Google Tag Manger and puts it in the essential category: https://github.com/ghostery/trackerdb/blob/e64452693549ec9d9b0fab9985b345655b7010e3/db/patterns/google_tag_manager.eno#L8

That explains why the requests are being shown as trusted in the UI. It should also result in an exclusion rule to allow these requests. However, it is an edge case, because there is a high priority rule on the "unbreak" list:

||googletagmanager.com/gtm.js$important,domain=fandom.com

This rule has important, so it will always take precedence on fandom.com. Even higher than the exclusion from TrackerDB.

Since blocking the request is intentional here - otherwise, it would not be on the unbreak list - the behavior of the adblocker is correct. Arguably, the UI is a bit confusing, since blocked requests are now being shown in a trusted category. On the other hand, it is most likely a rare situation. Maybe the UI could detect such cases, but it is not clear if this extra complexity is justified. (Open question.)

But in a nutshell, we have a request that according to TrackerDB is critical and should generally never be blocked. But then, we have a concrete example, where the community decided that it is critical to block it to avoid breakage. Blocking to avoid breakage, is fairly uncommon; normally, it is the opposite (blocking increasing the change of breakage). At least, it is likely that situation like on fandom.com should be rare.

@smalluban smalluban removed the Bug Something isn't working label Jul 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants