Your contacts will fill out more than one form over time, like an order form, a survey, or an event registration. Every submission should land on the record you already have. Duplicates make it harder to see where contacts came from, and easier to make mistakes in your follow-up. Here's how to avoid them.
As you saw in Form basics, a form matches people by email address. A matching email updates the existing contact, and a new email creates a new one. So the goal is to make sure the form knows who someone is, without counting on them to type the same email every time.
Say you want a mailing address from people already on your list. Don't ask for their email again, because if they type a different one, you'll get a duplicate. Instead, on a form on an Ontraport Page, open Form Settings and scroll to Hidden Fields. Click Add, choose the Email field, and use the merge field icon to fill it with the visiting contact's email. Then click Save. Their email goes along with the form without them seeing it, so their answers land on their existing record.
This works because Ontraport recognizes visitors who've been cookied. That happens when they click a link in one of your emails, fill out a form, log in to a membership site, or click a tracked link. So send people to this page from an email, and use it only for pages your existing contacts will see, not for your main lead-generation pages.
Now say a customer wants to update their email address. To keep that from creating a new contact, open Form Settings, go to the Advanced section, and check Override email address merge with cookie data. The form then identifies the visitor by their Ontraport cookie instead of the email they typed. If the email is new, it replaces the old one on their record, and no new contact is created. Multi-step forms use the same setting to keep every step on one record.
One caveat: this only works if Ontraport can recognize the visitor. A membership site is the most reliable way. If your form isn't on one and the visitor has cleared their cookies, Ontraport can't tell who they are.
Email isn't the only way to match. A unique field is one where no two records can share a value, like a rewards member ID or a permit number. If you've enabled custom objects or Ontraport Apps, you can make a field unique in Contacts, then Settings, then Field Editor. Only do this if you have a specific need, since automations and group actions can't change unique fields. Forms on dynamic templates and blocks also offer Merge form submissions with a specific record, which updates the record without a unique field.
Every record also has a built-in Unique ID, a random string of letters and numbers. It's made for passing data through links without exposing anyone's personal information. In your email, link to your published Ontraport Page and add a URL variable to the end of the link: a question mark, a name you choose, an equals sign, and the Unique ID merge field. Ontraport fills in each contact's own ID when the email goes out. Then, in the page's Form Settings, add Unique ID as a hidden field, and set its value to an ad hoc merge field with the same name you used in the link, in square brackets. When the contact submits, their answers update their existing record.
You may have heard of PURLs, personalized links with the contact's name in them. They're now a legacy feature, off unless your account used them before June 2024, and they only work on pages that aren't forced to HTTPS. Use the methods in this lesson instead.
So: pass a known contact's email in a hidden field, use the cookie override when someone changes their email, and match by a unique field or the Unique ID when email won't do. Next up: conditional redirects, which send people to different pages based on their answers.