Skip to main content

Contact Consent Management

Overview

Leadfox provides comprehensive consent management to help you comply with privacy regulations like 🇪🇺 GDPR, 🏴󠁣󠁡󠁱󠁣󠁿 Law 25, 🇨🇦 CASL. Each Contact can have different consent preferences that control email communications and tracking behaviors.

info

All of these features are optional and can be enabled in the Client's settings consent section. When disabled, we simply ignore the consent values even if defined. Keep in mind, it's your responsibility to ensure compliance with applicable laws.

Leadfox manages three distinct types of consent on the Contact entity:

MailingLists represent GDPR-compliant email subscription categories that Contacts can opt-in or opt-out of individually.

Use cases:

  • General communication
  • Newsletter subscriptions
  • Promotions
  • Event announcements

Schema structure:

Contact
{
mailinglists: [
{
mailinglist: "<mailinglist_id>",
status: "opt-in", // or "opt-out"
updated: "2025-01-15T10:30:00.000Z"
}
]
}

Status values:

  • opt-in - Contact has explicitly opted in the category
  • opt-out - Contact has explicitly opted out from the category
info

When the feature is enabled, EmailCampaigns can be configured to respect MailingList preferences with different filter strategies:

  • opt-in only (0) - Only send to contacts who explicitly opted in
  • undefined only (1) - Only send to contacts who haven't made a choice
  • opt-in or undefined (2) - Send to contacts who opted in or haven't made a choice

Global Email Subscription

In addition to granular MailingList consent, each Contact has a global subscribed field that indicates whether they want to receive any emails at all.

The Contact has controls whether Leadfox can track his emails or only generate anonymous interactions and metrics it.

Schema structure:

Contact
{
emailTrackingConsent: {
status: "GRANTED", // or "DENIED"
updated: "2025-01-15T10:30:00.000Z"
}
}

Status values:

  • GRANTED - Contact consents to email tracking
  • DENIED - Contact has declined email tracking

When using a compatible CMP (Consent Management Platform), the Contact has controls whether Leadfox can track him on the Client's website for tools like, Popup, Form or on a Leadfox Page.

Schema structure:

Contact
{
sessionTrackingConsent: {
status: "GRANTED", // or "DENIED"
updated: "2025-01-15T10:30:00.000Z"
}
}

Status values:

  • GRANTED - Contact consents to session tracking
  • DENIED - Contact has declined session tracking
info

Session tracking consent is typically managed through cookie consent banners on your website via a CMP. Until a Contact grants the consent, Leadfox only collects anonymous interactions.

GET /v1/contact/<contact_id>?fields=subscribed,mailinglists,emailTrackingConsent,sessionTrackingConsent HTTP/1.1
Host: rest.leadfox.co
Authorization: JWT <jwt>
response
{
"_id": "<contact_id>",
"_owner": "<client_id>",
"subscribed": true,
"mailinglists": [
{
"mailinglist": "<mailinglist_id_1>",
"status": "opt-in",
"updated": "2025-01-15T10:30:00.000Z"
},
{
"mailinglist": "<mailinglist_id_2>",
"status": "opt-out",
"updated": "2025-01-10T14:20:00.000Z"
}
],
"emailTrackingConsent": {
"status": "GRANTED",
"updated": "2025-01-15T10:30:00.000Z"
},
"sessionTrackingConsent": {
"status": "DENIED",
"updated": "2025-01-15T10:30:00.000Z"
}
}