Not sure how this works specifically, but usually you step back a bit and say that what you actually want to determine is not whether a user performed a transaction, but how many users who saw a specific ad bought a product, and then you develop a (statistical) zero knowledge proof/protocol to achieve this.
I don't actually know how to do this, so this is a bit like the "draw the rest of the owl" meme :)
The article mentions there is an opt out on google, so surely they must be able to correlate the transaction to an individual user, otherwise how do they know what transaction to exclude?
People on Twitter have mentioned that this probably extends private set intersection where each party learns the intersection of a set without learning either input set, but that wouldn't quite be enough.
If you assume there is an algorithm where Google can provide some "encrypted" form of their "users who have seen this ad" list such that the amount spent can be computed without knowing the intersection, you could exclude people who have opted out from the list Google inputs into the algorithm.
I don't actually know how to do this, so this is a bit like the "draw the rest of the owl" meme :)