Skip to content
QuillJet
← All posts

Field mapping done right: orders and forms to clean contacts

The QuillJet team·2026-06-24·5 min read

The hardest part of syncing a Webflow store to an email tool is not connecting the two. It is making sure the right field lands in the right place, every time, without you babysitting it.

A Webflow order is a deep, nested object: customer details, billing and shipping addresses, line items, totals. A form submission is flatter but messier, whatever fields the form happened to have. Your email tool, meanwhile, wants a clean contact: an email, a first name, maybe a few merge fields and tags. Mapping is the work of turning one into the other.

Start from the event, not the contact

The cleanest mental model is: an event arrives, you pick the pieces you care about, and you say where each one goes. In QuillJet that is a visual mapping, source field on the left, destination tag on the right. You see real sample values from a recent event as you map, so you are never guessing what billing.firstName actually contains.

Map the email first and everything else is optional. A contact with just an email is still a valid contact; a contact with no email is not, so QuillJet skips it and tells you why in the Event log.

Tags and constants do the heavy lifting

Most segmentation does not need a custom field at all, it needs a tag. Tag every new-order customer with customer, every newsletter signup with lead, and your email tool can build segments from there. Constants let you stamp a fixed value (a source, a campaign) onto every contact a rule produces, without touching the Webflow side.

Conditions keep the junk out

Not every event should sync. A condition like order.total > 0 or consent equals true means only the contacts you actually want reach your list. Everything else is recorded as skipped, so you keep a clean audit trail without polluting your audience.

Transforms for the last mile

Sometimes the value is right but the shape is wrong: a name in the wrong case, a price that needs rounding, a string that should be trimmed. Lightweight transforms handle that at map time, so the value lands clean rather than needing a fix-up later in your email tool.

Good mapping is set-and-forget. Map once, send a test, watch it land in the Event log, then enable the rule. From then on every matching event flows through with the same clean shape, no CSV, no manual cleanup.

That is the whole point of doing this inside a native app instead of a spreadsheet or a brittle zap: the mapping lives next to the data, you can preview it on real events, and it keeps working when a form changes.