PayPal buyers often pay with a different email than the one they opted in with, so matching by email alone misses sales. BrainyMetrics solves it from the return page: with Auto return and Payment data transfer on, PayPal sends the buyer back with the transaction id, which tracko.js reads and ties to their visit.
Webhooks for completed, refunded and reversed captures (and subscription sales) bring in the authoritative amounts. Add your app's client id, secret and webhook id and every webhook is verified with PayPal's verify-signature API, and the payer's email and name are fetched from the order.