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.
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.
Consent Types
Leadfox manages three distinct types of consent on the Contact entity:
1. MailingList (Email Communication Consent)
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:
{
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 categoryopt-out- Contact has explicitly opted out from the category
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.
2. Email Tracking Consent
The Contact has controls whether Leadfox can track his emails or only generate anonymous interactions and metrics it.
Schema structure:
{
emailTrackingConsent: {
status: "GRANTED", // or "DENIED"
updated: "2025-01-15T10:30:00.000Z"
}
}
Status values:
GRANTED- Contact consents to email trackingDENIED- Contact has declined email tracking
3. Session Tracking Consent
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:
{
sessionTrackingConsent: {
status: "GRANTED", // or "DENIED"
updated: "2025-01-15T10:30:00.000Z"
}
}
Status values:
GRANTED- Contact consents to session trackingDENIED- Contact has declined session tracking
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 Contact Consent Information
- HTTP
- cURL
GET /v1/contact/<contact_id>?fields=subscribed,mailinglists,emailTrackingConsent,sessionTrackingConsent HTTP/1.1
Host: rest.leadfox.co
Authorization: JWT <jwt>
curl \
--location 'https://rest.leadfox.co/v1/contact/<contact_id>?fields=subscribed,mailinglists,emailTrackingConsent,sessionTrackingConsent' \
--header 'Authorization: JWT <JWT>'
{
"_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"
}
}