When people buy a subscription (pricing plan), it collects their address at checkout and also a couple of custom fields through a custom form. I can’t find any way to get any of these values into the people’s contact records.
I’m trying to add mailing address, allergy/accommodation info, and media release acceptance to their contact record rather than digging that info out of invoices and form submission lists.
I’ve tried using automations but custom forms for pricing aren’t with the regular forms and can’t be used as triggers and the plan purchase trigger doesn’t carry any of this data.
Pricing plan checkout data does not flow to contact records automatically, and the custom forms you attach to pricing plans sit outside the regular forms automation system. You already proved that.
The technical path is a backend event: onOrderPurchased() fires when someone buys a plan. The event object carries buyer.contactId and an Order object. The Order object has a formData field that is documented as “information about the form submitted during checkout.” Read that field, then call contacts.updateContact(contactId, info, revision) to write the address and custom responses into the contact.
What is not verified: whether formData includes your pricing plan custom form responses or only the standard checkout address. The API docs confirm the field exists but do not say what populates it. Test it — add a backend events.js file, log the full event object on a test purchase, and check whether event.order.formData contains your allergy/accommodation fields. If it does, the path is straightforward. If it comes back empty or holds only the address, you are hitting a documented gap and Wix support needs to confirm whether pricing plan custom forms write to that field.
Code the event first, verify the data exists, then write to contacts. Do not assume the integration works without seeing it.