QuillJet

Subscribers & contacts

Every sync ends the same way: a contact is added to or updated in your own email tool. This page explains how QuillJet decides which contact to touch, whether a new contact is subscribed to your marketing emails, what that contact looks like once it lands, and how QuillJet respects the unsubscribes your tool already holds.

Matched by email

QuillJet identifies a contact by email address. Before creating anything, it checks whether that email already exists in the target list or audience:

  • If it exists, QuillJet updates that contact with the latest fields (and tags, in the tools that support them). GetResponse is the exception: a contact already in the campaign is left as it is.
  • If it does not exist, QuillJet creates it.

The same person is never added twice. This is called an upsert (update or insert), and it is why re-syncing a returning shopper is safe. For the bigger picture of how a delivery reaches this point, see how syncing works.

New contacts: subscribed or not

Each rule has a New contacts setting that decides the marketing status of a contact QuillJet creates. It does not change the status of a contact that already exists in your tool (see below).

  • Subscribe them. The new contact is subscribed to your marketing emails.
  • Subscribe only if they ticked a box. You pick the field that holds consent, usually a "Subscribe to our newsletter" checkbox on your Webflow form. A ticked box subscribes the new contact; an unticked or missing box is treated as no consent. Ticked means the field's value is true, on, yes, 1 or checked.
  • Add without subscribing. The contact is saved without marketing consent, so you can still see the customer in your tool without emailing them campaigns.

An order is not marketing consent, so new rules for orders, CMS items and inventory start on Add without subscribing wherever your tool allows it. New form rules start on Subscribe them; switch a form rule to the consent option if your form is not purely a newsletter signup. The rule editor shows, before you save, what the contact from your last event would become.

What each tool records for a NEW contact:

Email tool Subscribe them Add without subscribing, or box not ticked
Mailchimp Subscribed (tested 2026-10-31). Mailchimp sends no confirmation email, even if the audience uses double opt-in. Saved as a non-subscribed contact, who receives no marketing campaigns (tested 2026-10-31).
Klaviyo Subscribed to email marketing. If the list uses double opt-in, Klaviyo emails a confirmation first and subscribes them when they confirm (tested 2026-10-31). Added to the list with no email marketing consent ("Never subscribed", tested 2026-10-31).
Omnisend Email status "subscribed". Email status "not subscribed".
ActiveCampaign Added to the list as active (subscribed), with no confirmation email. Contact created or updated, but not added to the list.
Brevo Added to the list. Brevo sends no confirmation email. Not sent. In Brevo, being on a list is the subscription.
MailerLite Added to the group as active (subscribed; tested 2026-10-30). If "Double opt-in for API and integrations" is on in your MailerLite account, MailerLite emails a confirmation first. Not sent. In MailerLite, being in a group is the subscription.
GetResponse Added to the list. If the list uses double opt-in, the contact stays pending until they confirm. Not sent. In GetResponse, being on a list is the subscription.

A contact that is not sent appears in the event log as skipped with the reason no_marketing_consent.

What the contact looks like in your tool

The contact QuillJet builds carries an email, an optional first and last name, any fields you mapped, and any tags from the rule. Each email tool stores these in its own way:

  • Mailchimp: the contact is added to your audience with FNAME and LNAME merge fields, plus any merge fields you mapped, and tags are applied as active tags.
  • Klaviyo: the profile gets first_name and last_name and standard attributes, with anything non-standard stored as custom properties, then added to your list.
  • Brevo: the contact is created or updated with FIRSTNAME, LASTNAME, and your mapped attributes, and added to your list.
  • ActiveCampaign: the contact is synced with name, phone and mapped custom fields, added to your list, and tagged.
  • Omnisend: the contact is created or updated with name, mapped properties and tags.
  • MailerLite: the subscriber is created or updated with name and mapped fields, and added to your group.
  • GetResponse: a new contact is added to your campaign with name and mapped custom fields. An email that is already in the campaign is not changed.

Tags are applied in Mailchimp, ActiveCampaign and Omnisend. Brevo, Klaviyo, MailerLite and GetResponse segment by list instead, so tags on a rule are not sent to them (the rule editor shows this).

See what syncs where for exactly which Webflow values become which fields.

Merge fields vs attributes vs custom fields

Different tools use different words for the same idea, an extra piece of data attached to a contact:

  • Mailchimp calls them merge fields (for example FNAME, LNAME, ORDER_TOTAL), and they are defined per audience.
  • Brevo calls them attributes, defined at the account level.
  • Klaviyo has a fixed set of standard attributes (like first_name), and everything else becomes a custom property.

When you build a mapping, QuillJet reads the writable fields from your connected tool so you point Webflow sources at real targets. QuillJet only writes to fields you map, so every target is one that already exists in your tool. Learn more in field mapping.

Tags

In Mailchimp, ActiveCampaign and Omnisend, tags on a rule are applied to every contact that rule syncs. They are a simple, reliable way to segment: tag form leads differently from buyers, or tag by campaign, then build segments and automations inside your email tool from those tags. Tags are added to the contact; QuillJet does not remove tags your tool or you set elsewhere.

If the contact already exists

An existing contact is updated, not replaced wholesale. QuillJet writes the fields (and tags, where supported) from this sync onto the contact; GetResponse leaves an existing campaign contact unchanged. Fields you did not map are left as they are in your tool. Because matching is by email, a shopper who orders again, or who both fills a form and buys, ends up as one contact that accumulates the tags and fields from each sync.

Tip: If you want a value locked regardless of what the event contains, use a constant in the rule. Constants always win over mapped and automatic values.

Unsubscribes and your tool's rules

QuillJet does not send email. It sets the marketing status when it creates a contact, as described above, and sends no status for an existing contact. One exception to be aware of: in tools where list membership is the subscription (ActiveCampaign, Brevo, MailerLite), an existing contact who is not yet on the list you chose can be added to it by a rule that subscribes.

If someone unsubscribed in your tool, syncing them again through QuillJet never asks the tool to resubscribe them. Their fields and tags are updated, except in GetResponse and MailerLite as described here: Mailchimp keeps the member's status, Klaviyo is never asked to subscribe an existing profile, Omnisend receives no status for an existing contact, ActiveCampaign leaves an unsubscribed list membership as it is, a blocklisted Brevo contact stays blocklisted (tested 2026-10-29), and GetResponse leaves a contact already on the list unchanged. MailerLite refuses the update and keeps the subscriber unsubscribed (tested 2026-10-30); the event log shows it as skipped, contact_unsubscribed. Sending, suppression lists and double opt-in remain your tool's responsibility.

Questions about a specific contact? Start in finding your contacts, or reach us through our support form.