{"data":{"id":"magento2-40780","source":"github-pr","sourceRef":"magento/magento2#40780","title":"Replace all gad_* parameters in VCL","pr":{"number":40780,"url":"https://github.com/magento/magento2/pull/40780","author":"sprankhub","mergedAt":"2026-06-16T10:43:53Z","mergeCommit":"1d0537a74472155f75ec9ba0f9133e5b37688b9d","headCommit":"99432ff6ce2787b4fd69a1d200ea9779f6ca7973","baseRef":"2.4-develop","diffSha256":"e0d1bd1d0d6007385025c4b4e5c8abedaa0849d5fee8c579a617c53a39728188"},"issues":[{"number":40781,"url":"https://github.com/magento/magento2/issues/40781","title":"[Issue] Replace all gad_* parameters in VCL","labels":["Issue: ready for confirmation","Progress: PR Created","Progress: done","Reported on 2.4.x","Triage: Dev.Experience"],"kind":"pr-derived"}],"fixedIn":null,"containingTags":[],"reportedOn":null,"codeMatch":{"2.4.6":"file-missing","2.4.6-p1":"file-missing","2.4.6-p2":"file-missing","2.4.6-p3":"file-missing","2.4.6-p4":"file-missing","2.4.6-p5":"file-missing","2.4.6-p6":"file-missing","2.4.6-p7":"file-missing","2.4.6-p8":"file-missing","2.4.6-p9":"file-missing","2.4.6-p10":"file-missing","2.4.6-p11":"file-missing","2.4.6-p12":"file-missing","2.4.6-p13":"file-missing","2.4.6-p14":"file-missing","2.4.6-p15":"file-missing","2.4.7":"file-missing","2.4.7-p1":"file-missing","2.4.7-p2":"file-missing","2.4.7-p3":"file-missing","2.4.7-p4":"file-missing","2.4.7-p5":"file-missing","2.4.7-p6":"file-missing","2.4.7-p7":"file-missing","2.4.7-p8":"file-missing","2.4.7-p9":"file-missing","2.4.7-p10":"file-missing","2.4.8":"conflict","2.4.8-p1":"conflict","2.4.8-p2":"conflict","2.4.8-p3":"conflict","2.4.8-p4":"conflict","2.4.8-p5":"conflict","2.4.9":"clean"},"affectedVersions":["2.4.9"],"components":["magento/framework","magento/module-page-cache"],"files":[{"path":"app/code/Magento/PageCache/etc/varnish4.vcl","change":"modified","package":"magento/module-page-cache"},{"path":"app/code/Magento/PageCache/etc/varnish5.vcl","change":"modified","package":"magento/module-page-cache"},{"path":"app/code/Magento/PageCache/etc/varnish6.vcl","change":"modified","package":"magento/module-page-cache"},{"path":"app/code/Magento/PageCache/etc/varnish7.vcl","change":"modified","package":"magento/module-page-cache"},{"path":"lib/internal/Magento/Framework/App/PageCache/Identifier.php","change":"modified","package":"magento/framework"}],"stripped":{"tests":[],"docs":[],"outsideCode":[]},"linesChanged":18,"mergeBatched":false,"excluded":null,"sections":{"description":"This makes sure that not only `gad_source`, but also `gad_campaignid` and all future `gad_*` tracking parameters are replaced. This way, the page will still be served by Varnish when a tracking parameter like `gad_campaignid` is used in the URL.","stepsToReproduce":"1. Make sure you use Varnish and have the full page cache enabled.\n2. Flush the cache.\n3. Open the homepage like https://www.shop.tld/. It should load \"slow\" as you just flushed the cache.\n4. Open the homepage like https://www.shop.tld/ again. It should load fast as it is now served through Varnish.\n5. Open the homepage with the `gad_campaignid` like https://www.shop.tld?gad_campaignid=abc.\n6. Without the changes to the VCL in this pull request, the homepage will load \"slow\" as it is not a cache hit. With this change, the homepage will load fast as it is a cache hit.","expectedResult":null,"actualResult":null,"source":"pr"},"signatures":[],"labels":{"area":[],"component":[],"priority":null,"severity":null,"reportedOn":["2.4.x"]},"categories":[],"triage":{"model":"@cf/cloudflare/clef","requestHash":"878ffe4ca50aed6984da81a713ae6d4813a7835176d3074a27dd9b9cb2af9786","isBugfix":0.6016,"changeKind":{"choice":"bugfix","probabilities":{"bugfix":0.7717,"feature":0.0921,"refactor":0.0558,"tests_only":0.0062,"docs_only":0.0063,"dependency":0.0089,"cleanup":0.059},"confidence":0.5459},"scope":{"score":0.6605,"probabilities":{"0":0.456,"1":0.4275,"2":0.1165},"confidence":0.1064},"risk":{"score":0.4146,"probabilities":{"0":0.6259,"1":0.3336,"2":0.0405},"confidence":0.257},"area":{"choice":"framework","probabilities":{"catalog":0.0079,"checkout":0.007,"customer":0.0049,"admin":0.0075,"graphql_api":0.0037,"framework":0.9028,"frontend":0.0234,"other":0.0428},"confidence":0.7916},"securityRelevant":0.0073,"reportedVersion":{"choice":"unspecified","probabilities":{"2.4.0":0.004,"2.4.0-p1":0.0045,"2.4.1":0.0035,"2.4.1-p1":0.0033,"2.4.2":0.0049,"2.4.2-p1":0.0047,"2.4.2-p2":0.0049,"2.4.3":0.0087,"2.4.3-p1":0.0073,"2.4.3-p2":0.0076,"2.4.3-p3":0.0062,"2.4.4":0.0124,"2.4.4-p1":0.0061,"2.4.4-p10":0.0067,"2.4.4-p11":0.0079,"2.4.4-p12":0.0081,"2.4.4-p13":0.0074,"2.4.4-p14":0.0088,"2.4.4-p15":0.006,"2.4.4-p16":0.007,"2.4.4-p17":0.0066,"2.4.4-p18":0.0058,"2.4.4-p2":0.0032,"2.4.4-p3":0.0034,"2.4.4-p4":0.0036,"2.4.4-p5":0.0043,"2.4.4-p6":0.0042,"2.4.4-p7":0.0048,"2.4.4-p8":0.005,"2.4.4-p9":0.0042,"2.4.5":0.0131,"2.4.5-p1":0.0093,"2.4.5-p10":0.0068,"2.4.5-p11":0.0105,"2.4.5-p12":0.0098,"2.4.5-p13":0.0094,"2.4.5-p14":0.0086,"2.4.5-p15":0.0075,"2.4.5-p16":0.0072,"2.4.5-p17":0.0089,"2.4.5-p2":0.0038,"2.4.5-p3":0.0057,"2.4.5-p4":0.0057,"2.4.5-p5":0.0052,"2.4.5-p6":0.0068,"2.4.5-p7":0.0062,"2.4.5-p8":0.0056,"2.4.5-p9":0.005,"2.4.6":0.039,"2.4.6-p1":0.0163,"2.4.6-p10":0.0092,"2.4.6-p11":0.0139,"2.4.6-p12":0.0133,"2.4.6-p13":0.0116,"2.4.6-p14":0.0106,"2.4.6-p15":0.0091,"2.4.6-p2":0.0047,"2.4.6-p3":0.0079,"2.4.6-p4":0.0102,"2.4.6-p5":0.0075,"2.4.6-p6":0.008,"2.4.6-p7":0.0091,"2.4.6-p8":0.0066,"2.4.6-p9":0.0056,"2.4.7":0.0204,"2.4.7-p1":0.0143,"2.4.7-p10":0.0103,"2.4.7-p2":0.0086,"2.4.7-p3":0.0122,"2.4.7-p4":0.017,"2.4.7-p5":0.0123,"2.4.7-p6":0.0161,"2.4.7-p7":0.0148,"2.4.7-p8":0.0088,"2.4.7-p9":0.0064,"2.4.8":0.0234,"2.4.8-p1":0.016,"2.4.8-p2":0.0183,"2.4.8-p3":0.0187,"2.4.8-p4":0.0162,"2.4.8-p5":0.0156,"2.4.9":0.0184,"unspecified":0.2394},"confidence":0.0555},"backportWorthy":{"score":1.45,"probabilities":{"0":0.1261,"1":0.2977,"2":0.5762},"confidence":0.1547}},"curated":{"title":"Varnish misses the cache for URLs with the gad_campaignid tracking parameter","description":"The VCL only replaced gad_source, so when a tracking parameter like gad_campaignid is used in the URL, the page is not a cache hit in Varnish. varnish4.vcl to varnish7.vcl and Identifier::getMarketingParameterPatterns now replace all gad_* tracking parameters, not only gad_source.","categories":[],"author":"claude-code/opus-5.5","date":"2026-10-07","reviewedBy":null},"tests":null},"_documentation":"https://magento.watch/api","_description":"Upstream fix magento2-40780 details"}