クロスセッション・レスポンス・オファーの照合
デフォルトでは、クロスセッション・レスポンス・トラッキングで処理コードまたはオファー・コードでの照合が行われます。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_XsessResponse は「Interact」 > 「profile」 > 「オーディエンス・レベル」 > 「 [AudienceLevelName]」 > 「crossSessionResponseTable」構成プロパティーで定義されます。
コンタクトおよびレスポンス履歴テーブルをカスタマイズした場合は、そのテーブルで使用できるようにこの SQL を変更する必要がある可能性があります。SQL のオーバーライドを「Interact」 > 「services」 > 「crossSessionResponse」 > 「OverridePerAudience」 > 「(AudienceLevel)」 > 「TrackingCodes」 > 「byTreatmentCode」 > 「OverrideSQL」プロパティーで定義してください。オーバーライド 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_XsessResponse は「Interact」 > 「profile」 > 「オーディエンス・レベル」 > 「 [AudienceLevelName]」 > 「crossSessionResponseTable」構成プロパティーで定義されます。
コンタクトおよびレスポンス履歴テーブルをカスタマイズした場合は、そのテーブルで使用できるようにこの SQL を変更する必要がある可能性があります。SQL のオーバーライドを「Interact」 > 「services」 > 「crossSessionResponse」 > 「OverridePerAudience」 > 「(AudienceLevel)」 > 「TrackingCodes」 > 「byOfferCode」 > 「OverrideSQL」プロパティーで定義してください。オーバーライド SQL をいくつか指定した場合は、「SQL」プロパティーを「オーバーライド SQL」に変更する必要もあります。
代替コードによる照合
選択したいくつかの代替コードで照合するように SQL コマンドを定義できます。例えば、オファー・コードまたは処理コードとは別の販促コードまたは製品コードを使用できます。
この代替コードは、Interact ランタイム環境テーブルの UACI_TrackingType テーブルに定義する必要があります。
SQL またはストアード・プロシージャーは、「Interact」 > 「services」 > 「crossSessionResponse」 > 「OverridePerAudience」 > 「(AudienceLevel)」 > 「TrackingCodes」 > 「byAlternateCode」 > 「OverrideSQL」プロパティーで指定する必要があります。これにより、このオーディエンス・レベルの XSessResponse テーブル内のすべての列、および TreatmentCodeMatch 列と OfferIDMatch 列が返されます。必要に応じて、OfferIDMatch の代わりに offerCode (offerCode1、offerCode2、 … offerCodeN などの形式。ここで、N 部分はオファー・コードを表します) を返すこともできます。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 テーブルに定義されているトラッキング・コードです。