All Collections
Email Tracking
Email Sync Behavior
Emails Without Matching Contacts (Account Matching)
Emails Without Matching Contacts (Account Matching)
Erol Toker avatar
Written by Erol Toker
Updated over a week ago

Sometimes, it doesn't make sense to add a customer as a contact (eg: front-line managers), since your marketing automation software charges you on a 'per contact' basis and roles with high turnover can impact deliverability.

In these cases, you still usually want to capture the activity in Salesforce to get a complete picture of every conversation that's being had across the organization.

Truly is the only email tracking service in the market that allows you to log emails to Salesforce even if the contact doesn't exist.

Matching Logic

Truly will first attempt to match an email activity to an existing contact. If said contact doesn't exist, it will attempt to match it to an Account by comparing the email domain and the website on the website.

Our system will attempt to do the match based on a 'domain' field on the account.

Populating Account Domain Via Package

Truly's AppExchange package is the most consistent way to make account domain updates work.

Backfilling Account Domains

Following the installation, you can navigate to TrulySettings >> Actions Caret >> Bulk Populate Account Domains

This will run a job and populate all account domains with the following logic:

  • Detect if account domain is populated.

  • If it's not populated, try to extract a domain from the email of the first contact created under the account

  • If no contact exists, the domain will be extracted from Account.website.

  • If Account.website is null, the domain field will remain empty

Ongoing Account Domain Updates

The package will install a create/update trigger on Contact, which will then invoke our APEX class for applying the same logic in the backfill process

Populating Account Domain Via Formula Field

WARNING: salesforce has a little known issue where if you add too many formula fields to an object, it will cease to publish them via their API, and because domain matching relies on an API based lookup, this will not work. This has only been a problem for our larger customers, and the approach below seems to work for customers with ~10 reps.

To make domain matches work, you can add the following custom field and populate it however you choose (PB, Flow, APEX)

Account.truly_emailDomain__c

A simple/recommended solution is to set this up as a formula field that looks up the Account.website field and extracts the domain. Here is the formula you can use in this case:

if(find("/",if(find("www.",Website)>0,IF(FIND("//",Website)>0,substitute(Website,left(Website,find("//www.",Website)+5),NULL),Website),IF(FIND("//",Website)>0,substitute(Website,left(Website,find("//",Website)+1),NULL),Website)))>0,left(if(find("www.",Website)>0,IF(FIND("//",Website)>0,substitute(Website,left(Website,find("//www.",Website)+5),NULL),Website),IF(FIND("//",Website)>0,substitute(Website,left(Website,find("//",Website)+1),NULL),Website)),find("/",if(find("www.",Website)>0,IF(FIND("//",Website)>0,substitute(Website,left(Website,find("//www.",Website)+5),NULL),Website),IF(FIND("//",Website)>0,substitute(Website,left(Website,find("//",Website)+1),NULL),Website)))-1),if(find("www.",Website)>0,IF(FIND("//",Website)>0,substitute(Website,left(Website,find("//www.",Website)+5),NULL),Website),IF(FIND("//",Website)>0,substitute(Website,left(Website,find("//",Website)+1),NULL),Website)))

Did this answer your question?