Adding TrustedForm Consent Tags

Overview

TrustedForm Certify requires website owners to add consent tags to their lead generation forms to accurately assess how their practices align with business requirements, particularly in terms of compliance and lead quality. In order for lead buyers to verify this in an automated fashion, the lead generator must add specific tags to elements of their lead form using HTML attributes. This document provides instructions to do so.

Implementation

Note that failure to include or tag elements correctly could result in TrustedForm certificates failing various checks/filters. Any misrepresentation of elements in order to circumvent protections that TrustedForm puts in place could result in a loss of service.

Prerequisite

Configure the Certify Web SDK with the query parameter use_tagged_consent equal to true.
For assistance visit the Issuing Certificates section of the TrustedForm application, enable the “Use Consent Tags” script configuration, copy the updated Javascript Snippet and add this to your website (replacing any existing implementations).

script config

Tags required to enable lead buyers to use all current TrustedForm Verify features

  • offer
  • submit
  • consent-language
  • one (but not both) of the following:
    • consent-advertiser-name
    • consent-opted-advertiser-input-n and its corresponding consent-opted-advertiser-name-n tag

data-tf-element-role

To tag elements of your lead form, add an attribute with the name data-tf-element-role and the appropriate value specified below. If your form does not contain the element described in the description of the value then do not add it.

Click here to view an interactive example of a form that has implemented consent tags correctly.

This attribute can take any one of the following values:

  • offer

The offer element is the highest level element. It should be a DOM element that completely captures the area where consent and any of its requirements are given. Pages with multiple marketing offers (e.g. attempts to sell different goods/services) should tag each one separately.

Copy
Copied
<div id="home-services-lead-gen" data-tf-element-role="offer">
    <form></form>
</div>

or flattened

Copy
Copied
<div id="home-services-lead-gen" data-tf-element-role="offer">
    <form></form>
</div>
<div id="insurance-lead-gen" data-tf-element-role="offer">
    <form></form>
</div>
  • submit

This attribute should be attached to the Submit button or other DOM element which requires a consumer action to create the lead. There must be exactly one submit for every offer element.

Copy
Copied
<form data-tf-element-role="offer">
  By clicking Submit I grant consent.

<input type="submit" name="submit" data-tf-element-role="submit"/>
</form>

submit only

  • submit-text

This attribute should be attached to the text label that identifies the name of the button or DOM element that will trigger the lead creation. The text inside this tag should be identical to the label on the submit element.

Copy
Copied
<form data-tf-element-role="offer">
  By clicking <span data-tf-element-role="submit-text">Submit</span> I grant consent.

<input type="submit" name="submit" data-tf-element-role="submit"/>
</form>

submit only

  • consent-language

This should be attached to an element containing or surrounding the text which describes everything the consumer is consenting to. There must be at least one consent language for every offer element.

Copy
Copied
<form data-tf-element-role="offer">
<label data-tf-element-role="consent-language">
  <input type="checkbox" data-tf-element-role="consent-opt-in">
  I grant consent.
</label>

<input type="submit" name="submit" data-tf-element-role="submit">
</form>

opt in only

  • consent-opt-in

This attribute indicates a control the consumer must select to acknowledge that consent is being granted. It should be opted out by default, forcing a consumer action to opt in. The attribute should be attached to an input element nested inside the consent language element or referred to through a for attribute. It is highly recommended that there is one of these for every consent-language element.

nestedflat
Copy
Copied
<form data-tf-element-role="offer">
<label data-tf-element-role="consent-language">
  <input type="checkbox" data-tf-element-role="consent-opt-in">
  I grant consent.
</label>

<input type="submit" name="submit" data-tf-element-role="submit">
</form>
Copy
Copied
<form data-tf-element-role="offer">
<input id="consent-id" type="checkbox" data-tf-element-role="consent-opt-in">
<label for="consent-id" data-tf-element-role="consent-language">
  I grant consent.
</label>
<input type="submit" name="submit" data-tf-element-role="submit">
</form>

opt in only

  • consent-advertiser-name

This attribute should be attached to the text identifying the name of the advertiser being granted consent to contact. This tag should be used when consent is only given to one advertiser to whom the consumer is always giving consent by submitting the form.

Warning: when adding consent-advertiser-name to a parent element, any visible text found inside it or any child elements will be considered part of the advertiser name. This will affect the outcome of the Verify request.

Copy
Copied
<form data-tf-element-role="offer">
  By clicking Submit. I grant consent for
  <span data-tf-element-role="consent-advertiser-name">Cogswell Cogs</span>
  to contact me.
<input type="submit" name="submit" data-tf-element-role="submit"/>
</form>

advertiser name only

  • consent-opted-advertiser-input-n
  • consent-opted-advertiser-name-n

These attributes should be attached to the text identifying the name of the advertiser optionally being granted consent to contact and the input used to indicate this . This tag should be used whenever the consumer must take an action to select the advertiser(s) being given consent to contact. Replace the character ‘n’ with a unique value for each advertiser listed. The value can be any string as long as it matches the value in the corresponding checkbox.

Warning: when adding consent-opted-advertiser-name-n to a parent element, any visible text found inside it or any child elements will be considered part of the advertiser name. This will affect the outcome of the Verify request.

Copy
Copied
<form data-tf-element-role="offer">
  By clicking Submit. I grant consent for the following firms to contact me:
  <label data-tf-element-role="consent-opted-advertiser-name-1">
    <input type="checkbox" data-tf-element-role="consent-opted-advertiser-input-1"/>
    Cogswell Cogs
  </label>
  <label data-tf-element-role="consent-opted-advertiser-name-2">
    <input type="checkbox" data-tf-element-role="consent-opted-advertiser-input-2"/>
    Spacely Sprockets
  </label>
 
<input type="submit" name="submit" data-tf-element-role="submit"/>
</form>

enum names

  • contact-method

This attribute indicates the methods by which the consumer consents to be contacted. This should be attached to an element containing or surrounding the text inside of the consent language that describes all possible methods by which the consumer consents to be contacted (e.g. phone, text, email)

Copy
Copied
<form data-tf-element-role="offer">
  By clicking Submit I, 
  <span data-tf-element-role="consent-grantor-name">John Doe</span> 
    hereby grant consent to be contacted 
  <span data-tf-element-role="contact-method">by phone</span> 
    At
  <span data-tf-element-role="consent-grantor-phone">631-555-1212</span> .

 <input type="submit" name="submit" data-tf-element-role="submit"/>
</form>

contact method

  • consent-grantor-name
  • consent-grantor-phone
  • consent-grantor-email
  • consent-grantor-address
    These attributes should be attached to any text based or input element specifying contact information of the person granting consent to be contacted.
Copy
Copied
<form data-tf-element-role="offer">
  By clicking Submit I, 
  <span data-tf-element-role="consent-grantor-name">John Doe</span> 
    hereby grant consent to be contacted 
  <span data-tf-element-role="contact-method">by phone</span> 
    At
  <span data-tf-element-role="consent-grantor-phone">631-555-1212</span> .

<input type="submit" name="submit" data-tf-element-role="submit"/>
</form>

contact method

Copy
Copied
<form data-tf-element-role="offer">
  <label for="name">Name:</label>
  <input name="name" data-tf-element-role="consent-grantor-name">
  <label for="phone">Phone:</label>
  <input name="phone" data-tf-element-role="consent-grantor-phone"> 
  By clicking Submit I, hereby grant consent to be contacted 
  <span data-tf-element-role="contact-method">by phone</span> 
    at the number above.

<input type="submit" name="submit" data-tf-element-role="submit"/>
</form>

field names

  • consent-grantor-waived-dnc
    This should be attached to an element containing or surrounding the text inside of the consent language that specifically gives consent to call even if the number is found on a Do Not Call registry.
Copy
Copied
<form data-tf-element-role="offer">
  By clicking Submit. I hereby grant consent to be contacted
  <span data-tf-element-role="consent-grantor-waived-dnc">even if my phone number is listed on a Do Not Call Registry</span>.

<input type="submit" name="submit" data-tf-element-role="submit"/>
</form>

waive dnc

  • consent-grantor-waived-purchase-condition This should be attached to an element containing or surrounding the text inside of the consent language where the consumer documents that they understand this contact does not oblige them to any purchases.
Copy
Copied
<form data-tf-element-role="offer">
  By clicking Submit. I hereby grant consent to be contacted and 
<span data-tf-element-role="consent-grantor-waived-purchase-condition">
 I understand that my agreement to be contacted is not a condition of purchasing any property, goods or services</span>.

<input type="submit" name="submit" data-tf-element-role="submit"/>
</form>

waive purchase

  • consent-grantor-waived-regulated-technologies This should be attached to an element containing or surrounding the text inside of the consent language that specifically gives consent to use regulated technologies (e.g. automated dialing systems, pre-recorded voice, artificial intelligence, SMS/MMS)
Copy
Copied
<form data-tf-element-role="offer">
  By clicking Submit. I hereby grant consent to be contacted 
<span data-tf-element-role="consent-grantor-waived-regulated-technologies">
and permit that contact to be from an automated calling system</span>.

<input type="submit" name="submit" data-tf-element-role="submit"/>
</form>

waive calling tech

Click here to view an interactive example of a form that has implemented consent tags correctly.