Consent Tagging

Ayesha Akhtar
Ayesha Akhtar
  • Updated

Feature Snapshot

Summary:
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.

Key Benefits:

  • Allows lead buyers to automatically verify consent using TrustedForm Verify.
  • Helps ensure lead generation practices align with compliance and lead quality requirements.
  • Standardizes how consent, advertiser information, and contact details are identified on the page.

Typical Use Cases:

  • Deploying lead generation forms that require explicit consumer consent for regulatory compliance
  • Implementing consent capture on forms using graphical elements (e.g., logos, images, tiles)
  • Pages with one or more marketing offers where consent must be captured and separated per offer.

How the Consent Tagging works

TrustedForm uses HTML attributes on your page—specifically data-tf-element-role—to understand:

  • Where the offer lives.
  • Which element is the submit action.
  • Where the consent language appears.
  • Which advertisers the consumer is granting consent to.
  • Who the grantor is and how they may be contacted.
  • Whether they have waived certain conditions (DNC, purchase requirement, regulated technologies).

If elements are missing, mis-tagged, or misrepresented, certificates may fail verify checks/filters.


Step‑by‑Step Instructions

Configure the Certify Web SDK with the query parameter use_tagged_consent equal to true.

To do this:

  1. Visit the Issuing Certificates section of the TrustedForm application.
  2. Enable the Use Consent Tags script configuration.
  3. Copy the updated JavaScript snippet.
  4. Add it to your website, replacing any existing implementations.

Note: Failure to configure this correctly may prevent TrustedForm from using your tags and can cause certificates to fail checks/filters.


2. Tags Required for TrustedForm Verify

To enable lead buyers to use all current TrustedForm Verify features, the following tags are required:

  • offer
  • submit
  • consent-language
  • One (but not both) of:
    • consent-advertiser-name, or
    • consent-opted-advertiser-input-n and its corresponding consent-opted-advertiser-name-n

3. Using data-tf-element-role

To tag elements in your lead form, add an attribute:

data-tf-element-role="value"

where value is one of the supported roles listed below.

If your form does not contain the element described for a value, do not add that value to the page.

You can also view an interactive example of a form that has implemented consent tags correctly.

Tag Reference

Below are the supported data-tf-element-role values and examples.

  • 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., different goods/services) should tag each one separately.

    Example – single offer:

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

    Example – multiple offers (flattened):

    <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
    • Attach this to the submit button or other DOM element whose action creates the lead. There must be exactly one submit for every offer.
    <form data-tf-element-role="offer">
      By clicking Submit I grant consent.
    
      <input type="submit" name="submit" data-tf-element-role="submit"/>
    </form>
    

  • submit-text
    • Attach this to the text label that identifies the name of the button or DOM element that triggers lead creation. The text inside this tag should be identical to the label on the submit element.
    <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>
    

    • Attach this to an element containing or surrounding the text that describes everything the consumer is consenting to. There must be at least one consent-language for every offer.
    <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>
    

    • This indicates a control the consumer must select to acknowledge that consent is being granted.
      • It should be opted out by default, requiring an active consumer action to opt in.
      • It should be attached to an <input> nested inside the consent-language element or referred to via a for attribute.
      • It is highly recommended that there is one consent-opt-in for each consent-language.
    <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>
    

    • Attach this to the text identifying the name of the advertiser being granted consent to contact. Use this tag when consent is given to one advertiser and the consumer always gives consent to that advertiser by submitting the form.

    Warning: If you attach consent-advertiser-name to a parent element, all visible text inside that element and its children will be treated as part of the advertiser name. This will affect Verify results.

    <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>
    

    • Use these when the consumer must select which advertisers they grant consent to contact.
      • consent-opted-advertiser-input-n goes on the input control.
      • consent-opted-advertiser-name-n goes on the text identifying each advertiser.
      • Replace n with a unique value for each advertiser.
      • The n value can be any string, as long as it matches between the input and name tags.

    Warning: As with consent-advertiser-name, adding consent-opted-advertiser-name-n to a parent element causes all visible text inside that element and its children to be treated as part of the advertiser name.

    <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>
    

  • contact-method
    • Indicates the methods by which the consumer consents to be contacted. Attach this to an element containing or surrounding the consent language text describing all possible contact methods (e.g., phone, text, email).
    <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>
    
    

    • Attach these to any text-based or input element specifying contact information for the person granting consent.
    <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>
    
    
    <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>
    
    

    • Attach this to the portion of the consent language where the consumer specifically agrees to be contacted even if their number appears on a Do Not Call registry.
    <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>
    
    

    • Attach this to the portion of the consent language where the consumer acknowledges that consent to be contacted is not a condition of purchase.
    <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>
    
    

    • Attach this to the part of the consent language where the consumer specifically permits the use of regulated technologies (e.g., automated dialing systems, pre-recorded voice, artificial intelligence, SMS/MMS).
    <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>
    
    

Validation & Monitoring (optional)

  • Confirm that the TrustedForm Certify Web SDK is configured with use_tagged_consent=true.
  • Check that all required tags (offer, submit, consent-language, and the appropriate advertiser tags) are present where applicable.
  • Verify that each tag is applied only when the corresponding element actually exists on the form.
  • Generate test TrustedForm certificates and confirm that consent language and advertiser information appear as expected.

Best Practices

  • Always include the required tags for each offer: offer, submit, consent-language, and the appropriate advertiser tags.
  • Do not add tags for elements that do not exist on the form.
  • Avoid misrepresenting elements; any attempt to circumvent protections can result in a loss of service.
  • Ensure that any text tagged as an advertiser name or optional advertiser name only contains the intended advertiser name, since all visible text within that element (and its children) is treated as part of the advertiser name.

Troubleshooting

Symptom / Error Likely Cause Resolution
Consent language not detected in the certificate The element with data-tf-element-role="consent-language" is missing or mis-tagged Verify that the consent text element is present, correctly tagged, and not omitted in the HTML markup
Advertiser name mismatch in certificate detection The consent text does not include the approved legal advertiser name Update the consent language text to exactly match the approved wording provided by legal
TrustedForm script parameter missing The TrustedForm JavaScript snippet lacks the use_tagged_consent=true parameter Modify the script snippet to include use_tagged_consent=true in its URL query string

Frequently Asked Questions (FAQ)

Q: Do I need to change my TrustedForm script to use consent tags?
A: Yes. You must configure the Certify Web SDK with the use_tagged_consent=true query parameter via the Issuing Certificates “Use Consent Tags” configuration and replace any existing snippet.

Q: What should I verify if my TrustedForm certificate does not show the expected consent language?
A: Confirm that all required tags are present and correctly implemented (most importantly data-tf-element-role="consent-language") and that the TrustedForm script URL includes the use_tagged_consent=true parameter. Also, ensure that any consent text exactly matches the legally approved wording.


9. Glossary

Term Definition
Consent Tagging The process of adding specific HTML data attributes to web form elements to explicitly mark and capture consent elements.
TrustedForm Certify A product offering from TrustedForm that records and certifies lead events by capturing and storing consent language data.
Data Attribute A custom HTML attribute (e.g., data-tf-element-role) used to provide extra information for scripts to process specific elements.
Hidden Element An HTML element that is not visible via CSS styling but remains in the markup for data capture purposes.

Was this article helpful?

0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.