クロスセッション・レスポンス・オファーの照合

デフォルトでは、クロスセッション・レスポンス・トラッキングで処理コードまたはオファー・コードでの照合が行われます。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_XsessResponseUA_DtlContactHistCustomerID、および 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_XsessResponseUA_DtlContactHistCustomerID、および 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 (offerCode1offerCode2、 … 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 テーブルに定義されているトラッキング・コードです。