Mise en place d'un système de scoring automatisé pour évaluer la qualité et le niveau d'intérêt des prospects, avec intégration complète entre Eloqua, Salesforce et Power BI.
Reed Midem (aujourd'hui RX France), organisateur de salons professionnels internationaux de premier plan (MIPIM, MIPCOM, MAPIC, etc.), faisait face à un défi majeur : identifier efficacement les prospects les plus qualifiés parmi des milliers de contacts générés lors de campagnes marketing.
Sans système de scoring automatisé, les équipes commerciales consacraient un temps considérable à analyser manuellement les prospects, ce qui entraînait une perte d'efficacité et des opportunités manquées. Le processus de qualification était long, subjectif et ne permettait pas de prioriser les actions de prospection.
En identifiant précisément les prospects les plus prometteurs, permettre aux commerciaux de concentrer leur temps et leur énergie sur les opportunités qui ont le plus de chances d'aboutir, pour des taux de conversion significativement améliorés.
Le système de lead scoring repose sur une architecture intégrée connectant quatre plateformes clés :
Le rapport Power BI "Scoring" offre une vision complète de l'activité de lead scoring avec des indicateurs clés de performance permettant d'évaluer l'efficacité du processus de qualification.
Le système utilise une logique de scoring à 4 niveaux (1, 2, 3, 4) calculée dans Eloqua qui se traduit en statuts Salesforce spécifiques grâce au script Python d'automatisation :
Le système de scoring couvre les principaux salons Reed Midem :
Le cœur du système repose sur un script Python qui automatise la synchronisation entre les différentes plateformes.
# Fonction principale : Récupération des Campaign Members à mettre à jour
def ls_cm_status():
# Connexion à la base de données Salesforce
server = 'XXX'
database = 'YYY'
cnxn = pyodbc.connect(connection_string)
# Requête SQL complexe avec logique de scoring
SQL = """
SELECT
Event_Edition, Event_Name, Event_Year,
CM_ID AS CampaignMemberID,
Status AS Old_Status,
-- Logique de transition des statuts selon le score Eloqua
CASE
WHEN Status = 'UQ - Not started' AND Score = '1'
THEN 'QCB - Score 1'
WHEN Status = 'UQ - Not started' AND Score = '2'
THEN 'QCB - Score 2'
WHEN Status = 'QCB - Score 2' AND Score = '1'
THEN 'QCB - Score 2'
-- Désengagement : retour au statut initial
WHEN Score IN ('3','4')
THEN 'UQ - Not started'
END AS New_Status
FROM Campaign_Members
JOIN Custom_Attributes ON ...
WHERE Attribute_Date > GETDATE() - 30
"""
df = pd.read_sql_query(SQL, cnxn)
return df
# Insertion dans la table de reporting Power BI
def insert_Lead_Scoring():
cnxn = pyodbc.connect(staging_connection)
crsr = cnxn.cursor()
crsr.fast_executemany = True
crsr.executemany(
"INSERT INTO Lead_Scoring VALUES (?, ?, ...)",
list(cm_status.itertuples())
)
crsr.commit()
# Mise à jour Salesforce via DemandTools
subprocess.Popen([demandtools_exe, scenario_file, data_file])
Collaboration avec les équipes marketing et commerciales pour définir les critères de qualification et les niveaux de scoring pertinents pour chaque type d'événement.
Mise en place du modèle de lead scoring dans Eloqua basé sur les interactions (ouvertures d'emails, clics, téléchargements, visites de pages) avec attribution de points et définition des seuils.
Création des Custom Attributes pour stocker les scores Eloqua, configuration des statuts Campaign Member et définition des règles de validation.
Création du script d'automatisation avec logique de scoring, connexion aux bases de données, gestion des erreurs et intégration avec DemandTools pour les mises à jour Salesforce.
Développement du rapport "Scoring" avec indicateurs clés, visualisations par événement et suivi de la performance du processus de qualification.
Phase de tests intensifs sur un échantillon de campagnes, validation des règles de scoring, planification de l'exécution quotidienne automatique et formation des équipes.
Intégration complexe entre Eloqua, Salesforce et Power BI avec des formats de données différents. Solution : Développement d'un script Python robuste avec gestion des erreurs et logs détaillés pour assurer la fiabilité.
Traitement quotidien de milliers de prospects sur plusieurs événements simultanés. Solution : Optimisation des requêtes SQL, filtrage sur 30 jours glissants et utilisation de DemandTools pour les mises à jour en masse.
Logique de transition de statuts différente selon les événements et les comportements. Solution : Modélisation claire des règles dans le code avec commentaires détaillés et tests unitaires exhaustifs.
Nécessité d'assurer le bon fonctionnement quotidien sans intervention manuelle. Solution : Système de notifications email en cas d'erreur, logs détaillés et planification via Windows Task Scheduler.
Je peux vous accompagner dans la mise en place de systèmes de lead scoring, l'intégration de plateformes marketing et le développement de dashboards de pilotage.