Audience Module With Contacts, Lists, Segments And Topics
The new Audience section keeps the people you send to as contacts and groups them into lists, segments and topics.
A contact is an email address with a status and any number of properties your team defines. Each property has a type and can have a fallback value, so a merge tag still shows something for a contact who never filled the field in. Lists are groups filled by hand, by import or through the API. Topics record what each contact agreed to receive, so unsubscribing from one topic keeps the others.
A segment stores conditions instead of members and is checked every time it is used, so it matches different contacts as the audience changes. It offers sixteen operators, limited to the ones that fit each property type, can be limited to one list, and shows the matching contacts while the conditions are being written. A segment can also be described in a sentence, which is turned into conditions you can edit.
A CSV import has three steps: upload, column mapping, and an import that runs in the background and emails you when it is done. Lettr detects whether the first row holds headers, adds headers when it doesn't, and suggests which column goes to which property. A contact that already exists is either skipped (the default) or updated with the row's properties, and contacts are matched by email address regardless of letter case, so an import never creates duplicates. Rows with a missing or invalid address are counted and reported instead of stopping the import. Contact exports arrive by email as a download link that works for 7 days.
The new audience:read and audience:write API key scopes allow listing, creating and deleting contacts and lists, and reading segments and their contacts. A contact created through the API can go through double opt-in: Lettr sends a confirmation email, using one of your emails named in the request, and a public confirmation link confirms the contact and redirects to an address you choose.