Let me outline the problem: and please excuse the example
The problems we are encountering are:
If anyone has any thought or alternatives please sing out.
Yes, Custom Activities aren't feasible unless bulkified, even before the webhook question comes up.
I recommend a synthetic Munchkin VisitWebPage event. First set the s query parameter of the current URL to your JSON-serialized object. This value will become the {{trigger.search query}} token which can be used in both emails and webhooks. This is one of the few approaches that scales.
At a lower volume, you can do a form post of a JSON object (containing multiple purchase events) as long as you are not generating a new form post before the last one is processed (part of "processing" possibly being appending to a history field).
Thanks for that suggestion, that's something we hadn't tried yet. One question - I can't seem to get the param name right, my {{Trigger.Query String}} always shows up blank. I _think_ that it should be "underscore s underscore query" (the undescores seem to get lost in the HTML formatting in your message)?
No, it's literally the single letter s.
And {{trigger.search query}}, not {{trigger.query string}}.