What syncs where
When a Webflow event fires, QuillJet builds one contact from it and pushes that contact into your email tool. This page shows exactly what goes into that contact: where the email comes from, where the name comes from, which order fields are added for you, and how your own field mappings fit in.
The contact QuillJet builds
Every sync produces one contact made of:
- An email address (required: no email means nothing is synced).
- A first and last name when QuillJet can find or derive one.
- Fields: any order fields added automatically, plus whatever you map yourself, plus any constants.
- Tags from the rule.
That contact is then upserted into the list or audience your sync rule points to. See subscribers and contacts for what it looks like once it lands.
Where the email comes from
QuillJet looks for the email in the known locations for each Webflow trigger type first: the order customer's email on ecommerce orders, and common email fields on form submissions and CMS items. If none of those match (Webflow form fields can use any label), QuillJet scans the event's values and takes the first email-shaped string it finds.
If no email can be found anywhere in the event, the delivery is marked failed with no_email_in_payload. Nothing is sent, and the miss is visible in the event log.
Where the name comes from
QuillJet resolves the name in this order:
- Explicit first and last fields. QuillJet recognizes name fields in several languages (for example firstname, voornaam, prenom for the first name, and lastname, achternaam, nom for the last name).
- A known full-name field, such as the order's customer full name, split into first and last.
- A scan for a name-ish field (name, fullname, naam, and similar), also split into first and last.
When only a single name value is available, QuillJet splits it: the first word becomes the first name and the rest becomes the last name. If nothing name-like exists, the contact simply has no name, which is fine.
Order fields added automatically
For ecommerce orders, QuillJet adds two order fields to the contact automatically when they are present in the event:
- ORDER_ID, from the order's id.
- ORDER_TOTAL, from the amount the customer paid (or the net amount when that is what the event carries).
You do not need to map these yourself. If you want them under different names, add your own mapping (see below): explicit mappings override the automatic name, and constants override everything.
The field-by-field map
This table shows the standard sources QuillJet reads and what each becomes on the contact. Form and CMS fields use whatever labels your site uses, so those you map yourself in the rule editor.
| Webflow source path | What it becomes on the contact |
|---|---|
customerInfo.email |
The contact's email (matched, deduplicated) |
customerInfo.fullName |
Split into first name and last name |
orderId |
ORDER_ID field (added automatically when present) |
customerPaid.value or netAmount.value |
ORDER_TOTAL field (added automatically when present) |
Form fields under data.* |
Whatever target field you map them to |
CMS fields under fieldData.* |
Whatever target field you map them to |
Tip: Constants always win, and an explicit mapping to a target overrides the automatically added value for that target. Use this when you want full control over a field's name or value.
Form submissions and CMS items
Ecommerce orders have a predictable shape, but form submissions and CMS items do not: their fields carry whatever labels you gave them in Webflow. QuillJet still finds the email and name using the recognition and scanning described above, and everything else is up to your mappings.
In the rule editor, the source picker lists the actual fields from a real event so you can point each one at the right merge field, attribute, or custom field in your email tool. Add conditions if you only want some submissions or items to sync (for example, only orders above a certain total).