BriteVerify integration

8% of email addresses collected on the Web are invalid and can cause a decrease in reputation. Using a validation service is essential to keeping a high reputation and ensuring good inbox placement.

Using Leanplum's Linked Data , webhook and BriteVerify's email validation API you can verify every email address coming to Leanplum and send only to the valid ones.

The setup has 2 steps - Configure a Linked Data source with BriteVerify's API, configure webhook to validate the email address every time the attribute changes(when the attribute is set the first time and changes after that).

There are only 4 statuses for an email in BriteVerify.

Valid: The email represents a real account / inbox available at the given domain
Invalid: Not a real email
Unknown: For some reason we cannot verify valid or invalid. Most of the time a domain did not respond quickly enough.
Accept All: These are domains that respond to every verification request in the affirmative, and therefore cannot be fully verified.

Configure the LinkedData source

  1. Navigate to App Settings -> Keys & Settings -> Linked Data
  2. Add a new Linked Data source (emailverify for example) and add the Briteverify API url with your API key:
 https://bpi.briteverify.com/emails.json?apikey=API_KEY&address={} 
849

Configure the Webhook

  1. Navigate to Campaigns and create a new Campaign.
  2. This campaign does not need a Goal, set Attribution window do 0 days.
  3. Audience should be All users.
  4. Delivery should be Triggered on "User attribute email changes". The attribute could be different in your application, ensure the correct one is used.
  5. If your application has Webhook limits configured, select Caps Exempt to ensure this message will always execute.
  6. On the Actions select Webhook.
  7. Configure the fields for the Webhook
1939
parametervalue
URLhttps://api.leanplum.com/api?action=setUserAttributes
Content-Typeapplication/json
appIdYour application App Key.
clientKeyYour application Production Key
userId{{userId}}
userAttributesThis field will vary based on the Linked Data source name and email attribute name and the attribute name where the validation status will be stored.

{"emailStatus":{{linkedData.verifyemail[userAttribute.email]['status']}}}

For this example the attribute is called emailStatus.
  1. Start the campaign.

Every time the "email" attribute is changed - set for the first time or changed to a different value, a verification request will be made to BriteVerify and the "emailStatus" attribute will be updated with the "status" value from the response.

❗️

Bulk Importing Users

Importing users with the CSV Upload can cause the validation service to fire causing a lot of unintended validations and cost. Make sure to enable this integration after you have imported the users with known good email addresses.

In the email campaign Audience, you can now target users who have the "valid" value for that attribute.

872

📘

User Ops

Running a validation job for a customer profile through BriteVerify will generate 2 user ops.