교차 세션 응답 오퍼 일치
기본적으로 교차 세션 응답 추적은 처리 코드 또는 오퍼 코드를 일치시킵니다. crossSessionResponse 서비스는 SQL 명령을 사용하여 세션 데이터의 처리 코드, 오퍼 코드 또는 사용자 정의 코드를 Campaign 컨택 및 응답 기록 테이블과 일치시킵니다. 이 SQL 명령을 편집하여 추적 코드, 오퍼 코드 또는 사용자 정의 코드 사용자 정의를 일치시킬 수 있습니다.
처리 코드별 일치
처리 코드별 일치를 위한 SQL은 이 대상 레벨에 대한 XSessResponse 테이블의 모든 열과 OfferIDMatch 열을 리턴해야 합니다. OfferIDMatch 열의 값은 XSessResponse 레코드의 처리 코드와 함께 제공되는 offerId여야 합니다.
다음은 처리 코드를 일치시키는 기본적으로 생성된 SQL 명령 샘플입니다. Interact는 대상 레벨에 올바른 테이블 이름을 사용하기 위한 SQL을 생성합니다. 이 SQL은 Interact > services > crossSessionResponse > OverridePerAudience > AudienceLevel > TrackingCodes > byTreatmentCode > SQL 특성이 시스템 생성 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
UACI_XsessResponse, UA_DtlContactHist, CustomerID, UA_ContactHistory 값은 사용자 설정에 의해 Interact에 정의됩니다. 예를 들어, UACI_XsessResponseInteract > 프로파일 > 대상 레벨 > [AudienceLevelName] > crossSessionResponseTable 구성 특성에 의해 정의됩니다.
컨택 및 응답 기록 테이블을 사용자 정의한 경우, 테이블에 대한 작업을 하려면 이 SQL을 수정해야 합니다. Interact > services > crossSessionResponse > OverridePerAudience > (AudienceLevel) > TrackingCodes > byTreatmentCode > OverrideSQL 특성에 SQL 재정의를 정의하십시오. 일부 재정의 SQL을 제공하는 경우, SQL 특성도 재정의 SQL로 변경해야 합니다.
오퍼 코드별 일치
오퍼 코드별 일치를 위한 SQL은 이 대상 레벨에 대한 XSessResponse 테이블의 모든 열과 TreatmentCodeMatch 열을 리턴해야 합니다. TreatmentCodeMatch 열의 값은 XSessResponse 레코드의 오퍼 ID(및 오퍼 코드)와 함께 제공되는 처리 코드여야 합니다.
다음은 오퍼 코드를 일치시키는 기본적으로 생성된 SQL 명령 샘플입니다. Interact는 대상 레벨에 올바른 테이블 이름을 사용하기 위한 SQL을 생성합니다. 이 SQL은 Interact > services > crossSessionResponse > OverridePerAudience > AudienceLevel > TrackingCodes > byOfferCode > SQL 특성이 시스템 생성 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
UACI_XsessResponse, UA_DtlContactHist, CustomerID, UA_ContactHistory 값은 사용자 설정에 의해 Interact에 정의됩니다. 예를 들어, UACI_XsessResponseInteract > 프로파일 > 대상 레벨 > [AudienceLevelName] > crossSessionResponseTable 구성 특성에 의해 정의됩니다.
컨택 및 응답 기록 테이블을 사용자 정의한 경우, 테이블에 대한 작업을 하려면 이 SQL을 수정해야 합니다. Interact > services > crossSessionResponse > OverridePerAudience > (AudienceLevel) > TrackingCodes > byOfferCode > OverrideSQL 특성에 SQL 재정의를 정의하십시오. 일부 재정의 SQL을 제공하는 경우, SQL 특성도 재정의 SQL로 변경해야 합니다.
대체 코드별 일치
사용자가 선택한 일부 대체 코드별 일치를 위한 SQL 명령을 정의할 수 있습니다. 예를 들어, 오퍼 또는 처리 코드와 별개인 판촉 코드 또는 제품 코드가 있을 수 있습니다.
Interact 런타임 환경 테이블의 UACI_TrackingType 테이블에 이 대체 코드를 정의해야 합니다.
Interact > services > crossSessionResponse > OverridePerAudience > (AudienceLevel) > TrackingCodes > byAlternateCode > OverrideSQL 특성에 이 대상 레벨에 대한 XSessResponse 테이블의 모든 열과 TreatmentCodeMatchOfferIDMatch 열을 리턴하는 SQL 또는 스토어드 프로시저를 제공해야 합니다. OfferIDMatch 대신에 offerCode를 선택적으로 리턴할 수 있습니다(N 파트 오퍼 코드의 경우 offerCode1, offerCode2, … offerCodeN 형식). TreatmentCodeMatch 열 및 OfferIDMatch 열(또는 오퍼 코드 열)의 값은 XSessResponse 레코드의 TrackingCode에 해당해야 합니다.
예를 들어, 다음 SQL 의사 코드는 XSessResponse 테이블의 AlternateCode 열을 일치시킵니다.
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>UACI_TrackingType 테이블에 정의된 추적 코드입니다.