What Branch adds, and when
Branch makes deep links, links meant to open a specific place inside an app, and a Branch link can carry a fallback URL that points to a website. When the link sends someone to that website, Branch appends _branch_match_id. Branch's own testing guide shows it as a long number: https://example.app.link/kJNbhZ1PrF?$fallback_url=https://www.website.com/&_branch_match_id=418480444086051524. The website's copy of Branch's web SDK reads it when branch.init() runs, which is how the page gets the data attached to the link that was clicked.
It points at a browser
Branch's Web SDK reference describes the matching value as "the current user's browser-fingerprint-id". So the number belongs to the browser that clicked, where a campaign tag like utm_source is identical for everyone. The same reference says the SDK keeps the browser-fingerprint-id in local storage, and returns null for it when tracking is disabled. It is the value to remove before you forward a Branch link.
Redirects are where it gets lost
Branch's reference says the manual branch_match_id option in init() is "only necessary if ?_branch_match_id is lost due to multiple redirects in your flow". The fix it describes is to carry the value through yourself and pass it back in when the SDK starts.
Google Ads' parallel tracking sends visitors straight to the final URL. Branch's help page on Google web campaigns says attribution is unaffected, because the match ID is still appended to the clicked link and the web SDK can still store it.
Stripping it, and checking a Branch link
The website loads the same without it. What breaks is Branch's match for that click, and Branch's attribution depends on that match ID reaching the SDK. To inspect a Branch link itself, Branch's docs say to add ?debug=1 to the end while signed in to the Branch dashboard, which opens its Link Debugger. To build app links of your own, try the deep link generator.