Profil marketing
Profil marketing
Le module ads_intelligence profile la stack marketing du site de chaque POI et condense les résultats en un score unique de maturité marketing 0–100. Il découpe une liste de prospects en deux segments actionnables : les entreprises qui investissent déjà en acquisition payante et celles encore en premier contact froid.
Les détections croisent la page d'accueil avec des listes de filtres maintenues par la communauté (uBlock Origin, EasyList, EasyPrivacy) plus une table de signatures outsend curatée, couvrant pixels publicitaires, réseaux de retargeting, CMP, CRM marketing et widgets de chat.
Entrées
Seuls les items avec un site_web non vide sont traités.
| Champ | Type | Requis | Notes |
|---|---|---|---|
site_web |
string | oui | URL absolue du site du POI |
nom |
string | non | Repassé pour reporting |
place_id |
string | non | Sert à recoller à la liste source |
source_job_id |
string | non | ID d'un job scrap amont à chaîner |
Taille de lot : 1 à 10 000 items par job.
Sorties
Une ligne par POI traité. Les pixels paid-media et le retargeting pèsent le plus dans le score ; les widgets de chat le moins.
| Colonne | Type | Description |
|---|---|---|
ads_score |
integer | Score de maturité marketing, 0–100 |
pixels_detected |
string[] | Pixels publicitaires trouvés sur la page (ex. meta, google_ads, tiktok) |
crm_detected |
string | CRM marketing identifié, le cas échéant (ex. hubspot, klaviyo, brevo) |
chat_widget |
string | Solution de chat identifiée, le cas échéant (ex. intercom, crisp, drift) |
marketing_tools |
string[] | Autres technologies marketing (CMP, CDP, affiliation, réseaux de retargeting) |
Champs granulaires aussi stockés : ads_active, ads_networks, pixel_meta, pixel_google_ads, cmp_vendor, retargeting, crm_marketing, chat_widgets.
Cycle de vie
Cycle de vie standard des jobs outsend ; voir /docs/fr/concepts/jobs-lifecycle. La progression est reportée par item en unité sites.
Pipeline
| Direction | Clés |
|---|---|
needs |
site_web |
produces |
ads_active, ads_score, ads_networks, pixel_meta, pixel_google_ads, cmp_vendor, retargeting, crm_marketing, chat_widgets |
Tout job amont qui émet site_web (typiquement scrap) peut alimenter ads_intelligence. Le sélecteur de job se positionne par défaut sur le dernier job scrap du compte courant.
Endpoints
Créer un job
POST /api/jobs/ads-intelligence
{
"items": [
{ "site_web": "https://example.com", "nom": "Example", "place_id": "..." }
],
"source_job_id": "optional-upstream-job-uuid"
}
Réponse : document JobPublic décrivant le job nouvellement créé (id, status, job_type, output_filename, ef_cost, timestamps).
| Statut | Quand |
|---|---|
400 |
Aucun item n'a de site_web, ou quota EF par job dépassé |
401 |
Session manquante ou invalide |
403 |
Compte inactif |
422 |
Payload non conforme au schéma (ex. items vide ou > 10 000) |
L'état, la progression et les résultats du job se lisent via les endpoints partagés (GET /api/jobs/{id}, GET /api/jobs/{id}/results, flux SSE).
Limites
Voir /docs/fr/concepts/limits. Coût EF par item : ~1 / 3 / 3700 EF. Temps mur par item : 0,6 – 6 s.
Erreurs
| Erreur | Cause |
|---|---|
Aucun établissement avec site web |
Tous les items manquaient de site_web après normalisation |
Quota dépassé |
Coût EF estimé au-dessus du plafond par job |
| Échec de fetch au niveau item | Enregistré sur la ligne ; le job continue avec l'item suivant |
| Page d'accueil vide / réponse non-HTML | Ligne émise avec ads_score = 0 et détections vides |
Pour aller plus loin
Associer ads_intelligence aux modules suivants pour enrichir le profil prospect :