Introdution
Contrairement aux segments, les routages via une requête ne gèrent pas automatiquement les filtres sur le consentement et la contactabilité. Il faut donc l'ajouter directement dans la requête.
Le consentement
Pour gérer le consentement, il faut utiliser la table proc_contactability_aggregate et le champ consent_type.
Exemple d'utilisation du consentement
WITH filtered_cu AS (
SELECT *
FROM client_user
WHERE is_master = 1
),
filtered_pca AS (
SELECT DISTINCT customer_id, business_unit_brand_id, business_unit_country_code
FROM proc_contactability_aggregate
WHERE is_master = 1 AND consent_type["consent_email"] = true
)
SELECT cu.email
FROM filtered_cu cu
JOIN filtered_pca pca
on cu.customer_id = pca.customer_id
AND cu.business_unit_brand_id = pca.business_unit_brand_id
AND cu.business_unit_country_code = pca.business_unit_country_code
La contactabilité
Pour gérer la contactabilité, il faut utiliser la table proc_contactability_aggregateet les champs email_contactability et/ou mobile_contactability et/ou customer_contactability
Ces champs sont à false pour les non-contactables. Ils sont donc à utiliser en exclusion.
Exemple d'utilisation de la contactabilité
Pour cibler uniquement les contactables email, j'exclus les non-contactables email.
WITH filtered_cu AS (
SELECT *
FROM client_user
WHERE is_master = 1
),
filtered_pca AS (
SELECT DISTINCT customer_id, business_unit_brand_id, business_unit_country_code
FROM proc_contactability_aggregate
WHERE is_master = 1 AND email_contactability = true
)
SELECT cu.email
FROM filtered_cu cu
JOIN filtered_pca pca
on cu.customer_id = pca.customer_id
AND cu.business_unit_brand_id = pca.business_unit_brand_id
AND cu.business_unit_country_code = pca.business_unit_country_code