{
  "$schema": "https://datapackage.org/profiles/2.0/datapackage.json",
  "name": "third-party-scripts-polish-web-2026-09-24",
  "title": "Third-party scripts on Polish homepages, with Chrome UX Report field data",
  "description": "Every .pl homepage in a pinned Tranco list that answered with HTML, its scripts attributed to third-party vendors and kinds from the server HTML, and Chrome UX Report field data on phones per origin.",
  "version": "2026-09-24",
  "created": "2026-09-24T16:51:55.268Z",
  "homepage": "https://www.outofplace.space/blog/third-party-scripts-polish-web",
  "keywords": [
    "third-party scripts",
    "Google Tag Manager",
    "INP",
    "Core Web Vitals",
    "CrUX",
    "Poland"
  ],
  "licenses": [
    {
      "name": "CC-BY-4.0",
      "path": "https://creativecommons.org/licenses/by/4.0/",
      "title": "Creative Commons Attribution 4.0"
    }
  ],
  "contributors": [
    {
      "title": "Outofplace Poland sp. z o.o.",
      "roles": [
        "creator"
      ],
      "path": "https://www.outofplace.space"
    }
  ],
  "sources": [
    {
      "title": "Tranco list Y8YYG (https://doi.org/10.14722/ndss.2019.23386)",
      "path": "https://tranco-list.eu/list/Y8YYG/1000000"
    },
    {
      "title": "Chrome UX Report (CC BY 4.0)",
      "path": "https://developer.chrome.com/docs/crux"
    }
  ],
  "resources": [
    {
      "name": "sites",
      "path": "sites.csv",
      "type": "table",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 1173209,
      "hash": "sha256:6a18fb7c754160237e2324ac219ecfabd55b6118083e02d64c4916c118767bd4",
      "dialect": {
        "header": true,
        "delimiter": ",",
        "lineTerminator": "\r\n",
        "quoteChar": "\"",
        "doubleQuote": true
      },
      "schema": {
        "fields": [
          {
            "name": "rank_tranco",
            "type": "integer",
            "description": "Rank in the pinned Tranco list (the highest-ranked domain per origin)."
          },
          {
            "name": "domain",
            "type": "string",
            "description": "Registrable .pl domain."
          },
          {
            "name": "origin",
            "type": "string",
            "description": "Scheme and host of the homepage after redirects, the unit CrUX reports on."
          },
          {
            "name": "final_offsite",
            "type": "boolean",
            "trueValues": [
              "1"
            ],
            "falseValues": [
              "0"
            ],
            "description": "The homepage redirects to another registrable domain."
          },
          {
            "name": "html_truncated",
            "type": "boolean",
            "trueValues": [
              "1"
            ],
            "falseValues": [
              "0"
            ],
            "description": "The homepage was longer than the census's 1 MiB cap; scripts after it are unseen."
          },
          {
            "name": "is_shop",
            "type": "boolean",
            "trueValues": [
              "1"
            ],
            "falseValues": [
              "0"
            ],
            "description": "A shop by the e-commerce study's classifier (scripts/research/cwv-ecommerce/fingerprints.mjs)."
          },
          {
            "name": "script_tags",
            "type": "integer",
            "description": "<script src> elements that hold code."
          },
          {
            "name": "first_party_tags",
            "type": "integer",
            "description": "Of those, served from the site's own domain."
          },
          {
            "name": "third_party_tags",
            "type": "integer",
            "description": "Of those, served from another domain."
          },
          {
            "name": "inline_scripts",
            "type": "integer",
            "description": "Inline <script> elements that hold code."
          },
          {
            "name": "vendors",
            "type": "integer",
            "description": "Named third-party vendors (vendors.mjs) whose code the homepage loads."
          },
          {
            "name": "unclassified",
            "type": "integer",
            "description": "Other third-party sites the homepage loads scripts from."
          },
          {
            "name": "third_parties",
            "type": "integer",
            "description": "vendors + unclassified: the third parties per homepage."
          },
          {
            "name": "vendor_ids",
            "type": "list",
            "delimiter": "|",
            "itemType": "string",
            "description": "Vendor ids from vendors.mjs."
          },
          {
            "name": "kinds",
            "type": "list",
            "delimiter": "|",
            "itemType": "string",
            "description": "Kinds of those vendors."
          },
          {
            "name": "unclassified_sites",
            "type": "list",
            "delimiter": "|",
            "itemType": "string",
            "description": "Registrable domains (or hosts on shared hosting) of unattributed third-party scripts."
          },
          {
            "name": "deferred_vendor_ids",
            "type": "list",
            "delimiter": "|",
            "itemType": "string",
            "description": "Vendors whose every script is held back (consent manager or lazy loader type)."
          },
          {
            "name": "probed_at",
            "type": "datetime",
            "description": "UTC time of the census fetch."
          }
        ],
        "missingValues": [
          ""
        ]
      }
    },
    {
      "name": "site-vendors",
      "path": "site_vendors.csv",
      "type": "table",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 2060117,
      "hash": "sha256:4be5079620f40e1f06e20428c5e75598592b181eee7c8005907155de16663f7e",
      "dialect": {
        "header": true,
        "delimiter": ",",
        "lineTerminator": "\r\n",
        "quoteChar": "\"",
        "doubleQuote": true
      },
      "schema": {
        "fields": [
          {
            "name": "origin",
            "type": "string",
            "description": "Origin, as in sites.csv."
          },
          {
            "name": "vendor",
            "type": "string",
            "description": "Vendor id, empty for an unclassified third party."
          },
          {
            "name": "kind",
            "type": "string",
            "description": "The vendor's kind."
          },
          {
            "name": "unclassified_site",
            "type": "string",
            "description": "For an unclassified third party: its site."
          },
          {
            "name": "via",
            "type": "string",
            "description": "src (a script tag on the vendor's host), inline (an install snippet), or both."
          },
          {
            "name": "deferred",
            "type": "boolean",
            "trueValues": [
              "1"
            ],
            "falseValues": [
              "0"
            ],
            "description": "Every script of this vendor is held back until consent or a lazy loader runs it."
          },
          {
            "name": "evidence",
            "type": "string",
            "description": "Host and path of the first matching script, or the loader text of the snippet (no account IDs)."
          }
        ],
        "missingValues": [
          ""
        ]
      }
    },
    {
      "name": "vendors",
      "path": "vendors.csv",
      "type": "table",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 13755,
      "hash": "sha256:843dcdf98c798ca1a0bba4ffcaa14e2f29a78f3f2193aa0eda1e8191c44e44ad",
      "dialect": {
        "header": true,
        "delimiter": ",",
        "lineTerminator": "\r\n",
        "quoteChar": "\"",
        "doubleQuote": true
      },
      "schema": {
        "fields": [
          {
            "name": "vendor",
            "type": "string",
            "description": "Vendor id."
          },
          {
            "name": "name",
            "type": "string",
            "description": "Vendor or product name."
          },
          {
            "name": "kind",
            "type": "string",
            "description": "Kind of third party."
          },
          {
            "name": "sites",
            "type": "integer",
            "description": "Homepages (origins) loading it."
          },
          {
            "name": "share",
            "type": "number",
            "description": "sites / all origins."
          },
          {
            "name": "share_ci_low",
            "type": "number",
            "description": "Wilson 95% lower bound."
          },
          {
            "name": "share_ci_high",
            "type": "number",
            "description": "Wilson 95% upper bound."
          },
          {
            "name": "via_src",
            "type": "integer",
            "description": "Detections with a script tag on the vendor's host."
          },
          {
            "name": "via_inline_only",
            "type": "integer",
            "description": "Detections from an install snippet only."
          },
          {
            "name": "deferred",
            "type": "integer",
            "description": "Detections where every script is held back."
          },
          {
            "name": "verified",
            "type": "integer",
            "description": "Detections of this vendor checked by hand."
          },
          {
            "name": "precision",
            "type": "number",
            "description": "Share of those checks that were right."
          },
          {
            "name": "crux_n",
            "type": "integer",
            "description": "Homepages loading it with INP field data on phones."
          },
          {
            "name": "inp_pass",
            "type": "number",
            "description": "Share of those whose p75 INP on phones is 200 ms or less."
          }
        ],
        "missingValues": [
          ""
        ]
      }
    },
    {
      "name": "kinds",
      "path": "kinds.csv",
      "type": "table",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 2280,
      "hash": "sha256:5104532bac1dad1a3843cedeed0dc63b30201d1309055f08297c5d36f190fc41",
      "dialect": {
        "header": true,
        "delimiter": ",",
        "lineTerminator": "\r\n",
        "quoteChar": "\"",
        "doubleQuote": true
      },
      "schema": {
        "fields": [
          {
            "name": "kind",
            "type": "string",
            "description": "Kind id."
          },
          {
            "name": "description",
            "type": "string",
            "description": "What the kind covers."
          },
          {
            "name": "vendors_seen",
            "type": "integer",
            "description": "Vendors of this kind seen at least once."
          },
          {
            "name": "sites",
            "type": "integer",
            "description": "Homepages with at least one vendor of this kind."
          },
          {
            "name": "share",
            "type": "number",
            "description": "sites / all origins."
          },
          {
            "name": "share_ci_low",
            "type": "number",
            "description": "Wilson 95% lower bound."
          },
          {
            "name": "share_ci_high",
            "type": "number",
            "description": "Wilson 95% upper bound."
          },
          {
            "name": "crux_n_with",
            "type": "integer",
            "description": "Homepages of this kind with INP data on phones."
          },
          {
            "name": "inp_pass_with",
            "type": "number",
            "description": "Share passing INP among homepages with this kind."
          },
          {
            "name": "inp_pass_without",
            "type": "number",
            "description": "Share passing INP among homepages without it."
          },
          {
            "name": "inp_pass_diff",
            "type": "number",
            "description": "with − without."
          },
          {
            "name": "inp_pass_diff_ci_low",
            "type": "number",
            "description": "Newcombe 95% lower bound of the difference."
          },
          {
            "name": "inp_pass_diff_ci_high",
            "type": "number",
            "description": "Newcombe 95% upper bound of the difference."
          }
        ],
        "missingValues": [
          ""
        ]
      }
    },
    {
      "name": "by-third-parties",
      "path": "by_third_parties.csv",
      "type": "table",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 1549,
      "hash": "sha256:7197ebd4c24ab901b8bfc12d7885dd4c629e72f62c1c96be14afc431ce9b34f6",
      "dialect": {
        "header": true,
        "delimiter": ",",
        "lineTerminator": "\r\n",
        "quoteChar": "\"",
        "doubleQuote": true
      },
      "schema": {
        "fields": [
          {
            "name": "group",
            "type": "string",
            "description": "all, shops or others (not a shop)."
          },
          {
            "name": "bin",
            "type": "string",
            "description": "Third parties per homepage: 0, 1-2, 3-5, 6-9, 10+."
          },
          {
            "name": "sites_with_data",
            "type": "integer",
            "description": "Origins in the bin with phone field data."
          },
          {
            "name": "inp_pass",
            "type": "number",
            "description": "Share with p75 INP ≤ 200 ms."
          },
          {
            "name": "inp_pass_ci_low",
            "type": "number",
            "description": "Wilson 95% lower bound."
          },
          {
            "name": "inp_pass_ci_high",
            "type": "number",
            "description": "Wilson 95% upper bound."
          },
          {
            "name": "inp_median_p75",
            "type": "number",
            "description": "Median origin's p75 INP, ms."
          },
          {
            "name": "inp_median_ci_low",
            "type": "number",
            "description": "Bootstrap 95% lower bound, ms."
          },
          {
            "name": "inp_median_ci_high",
            "type": "number",
            "description": "Bootstrap 95% upper bound, ms."
          },
          {
            "name": "lcp_pass",
            "type": "number",
            "description": "Share with p75 LCP ≤ 2.5 s."
          },
          {
            "name": "lcp_median_p75",
            "type": "number",
            "description": "Median origin's p75 LCP, ms."
          },
          {
            "name": "cls_pass",
            "type": "number",
            "description": "Share with p75 CLS ≤ 0.1."
          },
          {
            "name": "pass_all",
            "type": "number",
            "description": "Share passing LCP, INP and CLS, among origins with all three."
          },
          {
            "name": "pass_all_ci_low",
            "type": "number",
            "description": "Wilson 95% lower bound."
          },
          {
            "name": "pass_all_ci_high",
            "type": "number",
            "description": "Wilson 95% upper bound."
          },
          {
            "name": "small_n",
            "type": "boolean",
            "trueValues": [
              "1"
            ],
            "falseValues": [
              "0"
            ],
            "description": "Fewer than 30 origins with data."
          }
        ],
        "missingValues": [
          ""
        ]
      }
    },
    {
      "name": "crux",
      "path": "crux.csv",
      "type": "table",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 899684,
      "hash": "sha256:02d93bdd58a3842a58ba2470ea641a1d7282f3ba83b3728c61e89aa1e43d9fc9",
      "dialect": {
        "header": true,
        "delimiter": ",",
        "lineTerminator": "\r\n",
        "quoteChar": "\"",
        "doubleQuote": true
      },
      "schema": {
        "fields": [
          {
            "name": "origin",
            "type": "string",
            "description": "Origin queried."
          },
          {
            "name": "crux_origin",
            "type": "string",
            "description": "Origin CrUX answered for (the www / non-www twin when the first had no record)."
          },
          {
            "name": "form_factor",
            "type": "string",
            "description": "PHONE."
          },
          {
            "name": "status",
            "type": "string",
            "description": "ok, not_found (too little traffic) or error."
          },
          {
            "name": "collection_first",
            "type": "date",
            "description": "First day of the 28-day collection period."
          },
          {
            "name": "collection_last",
            "type": "date",
            "description": "Last day of the collection period."
          },
          {
            "name": "lcp_p75",
            "type": "number",
            "description": "75th percentile of LCP on phones, ms."
          },
          {
            "name": "lcp_good_density",
            "type": "number",
            "description": "Share of page loads in the good bin for LCP."
          },
          {
            "name": "inp_p75",
            "type": "number",
            "description": "75th percentile of INP on phones, ms."
          },
          {
            "name": "inp_good_density",
            "type": "number",
            "description": "Share of page loads in the good bin for INP."
          },
          {
            "name": "cls_p75",
            "type": "number",
            "description": "75th percentile of CLS on phones."
          },
          {
            "name": "cls_good_density",
            "type": "number",
            "description": "Share of page loads in the good bin for CLS."
          },
          {
            "name": "fcp_p75",
            "type": "number",
            "description": "75th percentile of FCP on phones, ms."
          },
          {
            "name": "fcp_good_density",
            "type": "number",
            "description": "Share of page loads in the good bin for FCP."
          },
          {
            "name": "ttfb_p75",
            "type": "number",
            "description": "75th percentile of TTFB on phones, ms."
          },
          {
            "name": "ttfb_good_density",
            "type": "number",
            "description": "Share of page loads in the good bin for TTFB."
          }
        ],
        "missingValues": [
          ""
        ]
      }
    },
    {
      "name": "verification",
      "path": "verification.csv",
      "type": "table",
      "format": "csv",
      "mediatype": "text/csv",
      "encoding": "utf-8",
      "bytes": 11204,
      "hash": "sha256:e4010e60c25e45db7cf4cea91ddd4ffb467fd5ee8e311ab57d38b865d8cd7511",
      "dialect": {
        "header": true,
        "delimiter": ",",
        "lineTerminator": "\r\n",
        "quoteChar": "\"",
        "doubleQuote": true
      },
      "schema": {
        "fields": [
          {
            "name": "vendor",
            "type": "string",
            "description": "Vendor id of the detection checked."
          },
          {
            "name": "origin",
            "type": "string",
            "description": "Origin."
          },
          {
            "name": "via",
            "type": "string",
            "description": "How it was detected."
          },
          {
            "name": "evidence",
            "type": "string",
            "description": "The evidence shown to the reviewer."
          },
          {
            "name": "label_ok",
            "type": "boolean",
            "trueValues": [
              "1"
            ],
            "falseValues": [
              "0"
            ],
            "description": "The page does load this vendor's code."
          },
          {
            "name": "label_note",
            "type": "string",
            "description": "Reviewer note."
          }
        ],
        "missingValues": [
          ""
        ]
      }
    },
    {
      "name": "summary",
      "path": "summary.json",
      "description": "Headline numbers and chart-ready rows derived from the CSVs.",
      "format": "json",
      "mediatype": "application/json",
      "encoding": "utf-8",
      "bytes": 186787,
      "hash": "sha256:4a59c4502d6b14c11add7e23a61cab19d25d0c269a4f35cef07148aa9b2df1da"
    }
  ]
}
