Mise en correspondance d'offre de réponse intersessions
Par défaut, le suivi de réponse intersession recherche des correspondances en fonction des codes de traitement ou des codes d'offre. Le service crossSessionResponse utilise des commandes SQL pour établir les correspondances avec les codes de traitement, les codes d'offre ou un code personnalisé fourni par les données de session au contact Campaign contact et aux tables de d'historique de réponses. Vous pouvez éditer ces commandes SQL pour faire correspondre les personnalisations que vous apportez à vos codes de suivi, vos codes d'offre ou vos codes personnalisés.
Correspondance par code de traitement
Le SQL avec lequel établir une correspondance par code de traitement doit renvoyer toutes les colonnes dans la table XSessResponse pour ce niveau d'audience, plus une colonne appelée OfferIDMatch. La valeur de la colonne OfferIDMatch doit être l'offerId qui accompagne le code de traitement dans l'enregistrement XSessResponse.
Voici un échantillon de commande SQL générée par défaut qui établit une correspondance avec les codes de traitement. Interact génère le SQL qui permet d'utiliser les noms de table corrects pour le niveau d'audience. Ce SQL est utilisé si la propriété Interact > services > crossSessionResponse > OverridePerAudience > AudienceLevel > TrackingCodes > byTreatmentCode > SQL est définie sur Utiliser System Generated SQL.
select   distinct treatment.offerId as OFFERIDMATCH, 
tx.*,
dch.RTSelectionMethod
from UACI_XSessResponse tx
Left Outer Join UA_Treatment treatment ON tx.trackingCode=treatment.treatmentCode
Left Outer Join UA_DtlContactHist dch ON tx.CustomerID = dch.CustomerID
Left Outer Join UA_ContactHistory ch ON tx.CustomerID = ch.CustomerID
AND treatment.cellID = ch.cellID
AND treatment.packageID=ch.packageID
where tx.mark=1
and tx.trackingCodeType=1
Les valeurs UACI_XsessResponse, UA_DtlContactHist, CustomerID, et UA_ContactHistory sont définies par vos paramètres dans Interact. Par exemple, UACI_XsessResponse est défini par la propriété de configuration Interact > profil > Référentiels > [AudienceLevelName] > crossSessionResponseTable.
Si vous avez personnalisé vos tables d'historique de contact et de réponse, il peut être nécessaire de réviser ce SQL pour qu'il fonctionne avec vos tables. Vous pouvez définir des substitutions SQL dans la propriété Interact > services > crossSessionResponse > OverridePerAudience > (AudienceLevel) > TrackingCodes > byTreatmentCode > OverrideSQL. Si vous fournissez un SQL de substitution, vous devez également remplacer la propriété SQL par Effacer SQL.
Correspondance par code d'offre
Le SQL avec lequel établir une correspondance par code d'offre doit renvoyer toutes les colonnes de la table XSessResponse pour ce niveau d'audience, plus une colonne appelée TreatmentCodeMatch. La valeur de la colonne TreatmentCodeMatch est le code de traitement associé à l'ID de l'offre (et le code de l'offre) dans l'enregistrement XSessResponse.
Voici un échantillon de commande SQL générée par défaut qui établit une correspondance avec les codes d'offre. Interact génère le SQL qui permet d'utiliser les noms de table corrects pour le référentiel. Ce SQL est utilisé si la propriété Interact > services > crossSessionResponse > OverridePerAudience > AudienceLevel > TrackingCodes > byOfferCode > SQL est définie sur Utiliser System Generated SQL.
select   treatment.treatmentCode as TREATMENTCODEMATCH, 
tx.*,
dch.RTSelectionMethod
from UACI_XSessResponse tx
Left Outer Join UA_DtlContactHist dch ON tx.CustomerID=dch.CustomerID
Left Outer Join UA_Treatment treatment ON tx.offerId = treatment.offerId
Left Outer Join
(
select max(dch.contactDateTime) as maxDate,
treatment.offerId,
dch.CustomerID
from UA_DtlContactHist dch, UA_Treatment treatment, UACI_XSessResponse tx
where tx.CustomerID=dch.CustomerID
and tx.offerID = treatment.offerId
and dch.treatmentInstId = treatment.treatmentInstId
group by dch.CustomerID, treatment.offerId
) dch_by_max_date ON tx.CustomerID=dch_by_max_date.CustomerID
and tx.offerId = dch_by_max_date.offerId
where tx.mark = 1
and dch.contactDateTime = dch_by_max_date.maxDate
and dch.treatmentInstId = treatment.treatmentInstId
and tx.trackingCodeType=2
union
select treatment.treatmentCode as TREATMENTCODEMATCH,
tx.*,
0
from UACI_XSessResponse tx
Left Outer Join UA_ContactHistory ch ON tx.CustomerID =ch.CustomerID
Left Outer Join UA_Treatment treatment ON tx.offerId = treatment.offerId
Left Outer Join
(
select max(ch.contactDateTime) as maxDate,
treatment.offerId, ch.CustomerID
from UA_ContactHistory ch, UA_Treatment treatment, UACI_XSessResponse tx
where tx.CustomerID =ch.CustomerID
and tx.offerID = treatment.offerId
and treatment.cellID = ch.cellID
and treatment.packageID=ch.packageID
group by ch.CustomerID, treatment.offerId
) ch_by_max_date ON tx.CustomerID =ch_by_max_date.CustomerID
and tx.offerId = ch_by_max_date.offerId
and treatment.cellID = ch.cellID
and treatment.packageID=ch.packageID
where tx.mark = 1
and ch.contactDateTime = ch_by_max_date.maxDate
and treatment.cellID = ch.cellID
and treatment.packageID=ch.packageID
and tx.offerID = treatment.offerId
and tx.trackingCodeType=2
Les valeurs UACI_XsessResponse, UA_DtlContactHist, CustomerID, et UA_ContactHistory sont définies par vos paramètres dans Interact. Par exemple, UACI_XsessResponse est défini par la propriété de configuration Interact > profil > Référentiels > [AudienceLevelName] > crossSessionResponseTable.
Si vous avez personnalisé vos tables d'historique de contact et de réponse, il peut être nécessaire de réviser ce SQL pour qu'il fonctionne avec vos tables. Vous pouvez définir des substitutions SQL dans la propriété Interact > services > crossSessionResponse > OverridePerAudience > (AudienceLevel) > TrackingCodes > byOfferCode > OverrideSQL. Si vous fournissez un SQL de substitution, vous devez également remplacer la propriété SQL par Effacer SQL.
Correspondance par code alternatif
Vous pouvez définir une commande SQL afin d'établir une correspondance à un code alternatif de votre choix. Par exemple, vous pouvez avoir des codes promotionnels ou des codes produits distincts des codes d'offre ou de traitement.
Vous devez définir ce code de remplacement dans la table UACI_TrackingType dans les tables de l'environnement d'exécution Interact.
Vous devez fournir SQL ou une procédure mémorisée dans la propriété Interact > services > crossSessionResponse > OverridePerAudience > (AudienceLevel) > TrackingCodes > byAlternateCode > OverrideSQL qui renvoie toutes les colonnes de la table XSessResponse pour ce niveau d'audience, plus les colonnes TreatmentCodeMatch et OfferIDMatch. Vous pouvez facultativement renvoyer offerCode à la place de OfferIDMatch (sous la forme offerCode1, offerCode2, … offerCodeN pour N codes d'offre de partie). Les valeurs de la colonne TreatmentCodeMatch et OfferIDMatch (ou colonnes de code d'offre) doivent correspondre à TrackingCode dans l'enregistrement XSessResponse.
Par exemple, le pseudo-code SQL suivant correspond à la colonne AlternateCode de la table XSessResponse.
Select m.TreatmentCode as TreatmentCodeMatch, m.OfferID as OfferIDMatch, tx.*
From MyLookup m, UACI_XSessResponse tx
Where m.customerId = tx.customerId
And m.alternateCode = tx.trackingCode
And tx.mark=1
And tx.trackingCodeType = <x>
<x> est le code de suivi défini dans la table UACI_TrackingType.