使用SQL建立對象
使用SQL受眾擴充功能來建置具有來自Data Lake之資料的受眾,包括任何現有維度實體(例如客戶屬性或產品資訊)。
使用此SQL擴充功能可改善您建立受眾的能力,因為在定義受眾區段時,您不需要在設定檔中使用原始資料。 使用此方法建立的對象會自動在對象工作區中註冊,您可以進一步將對象鎖定在檔案型目的地。
本文介紹如何在Adobe Experience Platform的Data Distiller中使用SQL對象擴充功能,以使用SQL命令建立、管理和發佈對象。
Data Distiller中的對象建立生命週期 audience-creation-lifecycle
請依照下列步驟建立、管理和啟用您的對象。 建立的受眾可無縫整合至「受眾流程」,因此您可以從基本受眾建立區段,並將檔案型目的地(例如CSV上傳或雲端儲存位置)作為客戶拓展的目標。 「受眾流程」是指建立、管理和啟用受眾的完整流程,能確保各個目的地間的無縫整合。
在「對象流程」中,使用下列SQL命令在Adobe Experience Platform中建立、修改和刪除對象。
建立客群 create-audience
使用CREATE AUDIENCE AS SELECT
命令來定義新對象。 建立的對象會儲存在資料集中,並在Data Distiller下的對象工作區中註冊。
CREATE AUDIENCE table_name
WITH (primary_identity='IdentitycolName', identity_namespace='Namespace for the identity used', [schema='target_schema_title'])
AS (select_query)
參數
使用這些引數來定義您的SQL對象建立查詢:
schema
table_name
primary_identity
identity_namespace
SHOW NAMESPACES
命令。 若要建立新的名稱空間,請使用CREATE NAMESPACE
。 例如: CREATE NAMESPACE lumaCrmId WITH (code='testns', TYPE='Email')
。select_query
orders
、total_revenue
、recency
、frequency
和monetization
)可依需要用來篩選對象。範例:
下列範例示範如何建構SQL對象建立查詢:
CREATE Audience aud_test
WITH (primary_identity=userId, identity_namespace=lumaCrmId)
AS SELECT userId, orders, total_revenue, recency, frequency, monetization FROM profile_dim_customer;
在此範例中,userId
資料行被識別為身分資料行,並指派適當的名稱空間(lumaCrmId
)。 其餘欄(orders
、total_revenue
、recency
、frequency
和monetization
)都是擴充屬性,可為對象提供額外內容。
限制:
使用SQL建立對象時,請注意下列限制:
- 主要身分資料行 必須 位於資料集的最高層級,且不得巢狀內嵌於其他屬性或類別中。
- 使用SQL命令建立的外部對象保留期為30天。 30天後,這些對象會自動刪除,這是規劃對象管理策略的重要考量。
將設定檔新增至現有對象 add-profiles-to-audience
使用INSERT INTO
命令將設定檔(或整個對象)新增到現有對象。
INSERT INTO table_name
SELECT select_query
參數
下表說明INSERT INTO
命令所需的引數:
table_name
select_query
範例:
下列範例示範如何使用INSERT INTO
命令將設定檔新增到現有對象:
INSERT INTO Audience aud_test
SELECT userId, orders, total_revenue, recency, frequency, monetization FROM customer_ds;
取代對象資料(插入覆寫) replace-audience
使用INSERT OVERWRITE INTO
命令以新SQL查詢的結果取代對象中的所有現有設定檔。 此命令可讓您在單一步驟中完全重新整理對象的內容,因此對於管理動態對象區段相當實用。
INSERT OVERWRITE INTO
命令僅適用於Data Distiller客戶。 若要進一步瞭解Data Distiller附加元件,請聯絡您的Adobe代表。與INSERT INTO
新增到目前的對象不同,INSERT OVERWRITE INTO
會移除所有現有的對象成員,並僅插入查詢傳回的成員。 這在管理需要經常或完整更新的對象時,可提供更好的控制能力和彈性。
使用下列語法範本,以一組新的設定檔覆寫對象:
INSERT OVERWRITE INTO audience_name
SELECT select_query
參數
下表說明INSERT OVERWRITE INTO
命令所需的引數:
audience_name
CREATE AUDIENCE
命令建立的對象名稱。select_query
SELECT
陳述式。範例:
在此範例中,audience_monthly_refresh
對象被查詢結果完全覆寫。 查詢未傳回的任何設定檔都會從對象中移除。
INSERT OVERWRITE INTO audience_monthly_refresh
SELECT user_id FROM latest_transaction_summary WHERE total_spend > 100;
受眾覆寫即時客戶個人檔案中的行為
當您覆寫對象時,Real-Time Customer Profile會套用下列邏輯來更新設定檔成員資格:
- 僅出現在新批次中的設定檔會標籤為已輸入。
- 僅存在於先前批次中的設定檔會標籤為已退出。
- 兩個批次中的設定檔保持不變(不執行任何操作)。
這可確保在下游系統和工作流程中準確反映受眾更新。
範例情境
如果對象A1
最初包含:
覆寫查詢會傳回:
然後,更新的對象將包含:
設定檔B被移除,設定檔A被更新,設定檔C保持不變。
如果覆寫查詢包含新的設定檔:
最終對象會是:
RFM模型對象範例 rfm-model-audience-example
下列範例示範如何使用「造訪間隔」、「頻率」和「營利」(RFM)模型來建立對象。 此範例會根據造訪間隔、頻率和營利得分來劃分客戶,以識別關鍵群組,例如忠誠客戶、新客戶和高價值客戶。
下列查詢會為RFM對象建立結構描述。 陳述式會設定欄位以儲存客戶資訊,例如userId
、days_since_last_purchase
、orders
、total_revenue
等。
CREATE Audience adls_rfm_profile
WITH (primary_identity=userId, identity_namespace=lumaCrmId) AS
SELECT
cast(NULL AS string) userId,
cast(NULL AS integer) days_since_last_purchase,
cast(NULL AS integer) orders,
cast(NULL AS decimal(18,2)) total_revenue,
cast(NULL AS integer) recency,
cast(NULL AS integer) frequency,
cast(NULL AS integer) monetization,
cast(NULL AS string) rfm_model
WHERE false;
建立受眾後,請使用客戶資料填入,並根據其RFM分數劃分設定檔。 以下SQL陳述式使用NTILE(4)
函式,根據客戶的RFM (造訪間隔、頻率、營利)分數將客戶分至四分位數。 這些分數會將客戶分為六個區段,例如「核心」、「忠誠」和「鯨」。 然後區段的客戶資料會插入到對象adls_rfm_profile
表格中。」
INSERT INTO Audience adls_rfm_profile
SELECT
userId,
days_since_last_purchase,
orders,
total_revenue,
recency,
frequency,
monetization,
CASE
WHEN Recency=1 AND Frequency=1 AND Monetization=1 THEN '1. Core - Your Best Customers'
WHEN Recency IN(1,2,3,4) AND Frequency=1 AND Monetization IN (1,2,3,4) THEN '2. Loyal - Your Most Loyal Customers'
WHEN Recency IN(1,2,3,4) AND Frequency IN (1,2,3,4) AND Monetization=1 THEN '3. Whales - Your Highest Paying Customers'
WHEN Recency IN(1,2,3,4) AND Frequency IN(1,2,3) AND Monetization IN(2,3,4) THEN '4. Promising - Faithful Customers'
WHEN Recency=1 AND Frequency=4 AND Monetization IN (1,2,3,4) THEN '5. Rookies - Your Newest Customers'
WHEN Recency IN (2,3,4) AND Frequency=4 AND Monetization IN (1,2,3,4) THEN '6. Slipping - Once Loyal, Now Gone'
END AS rfm_model
FROM (
SELECT
userId,
days_since_last_purchase,
orders,
total_revenue,
NTILE(4) OVER (ORDER BY days_since_last_purchase) AS recency,
NTILE(4) OVER (ORDER BY orders DESC) AS frequency,
NTILE(4) OVER (ORDER BY total_revenue DESC) AS monetization
FROM (
SELECT
userid,
DATEDIFF(current_date, MAX(purchase_date)) AS days_since_last_purchase,
COUNT(purchaseid) AS orders,
CAST(SUM(total_revenue) AS double) AS total_revenue
FROM (
SELECT DISTINCT
ENDUSERIDS._EXPERIENCE.EMAILID.ID AS userid,
commerce.`ORDER`.purchaseid AS purchaseid,
commerce.`ORDER`.pricetotal AS total_revenue,
TO_DATE(timestamp) AS purchase_date
FROM sample_data_for_ootb_templates
WHERE commerce.`ORDER`.purchaseid IS NOT NULL
) AS b
GROUP BY userId
)
);
刪除對象(刪除對象) delete-audience
使用DROP AUDIENCE
命令刪除現有的對象。 如果對象不存在,除非指定IF EXISTS
,否則會發生例外狀況。
DROP AUDIENCE [IF EXISTS] [db_name.]table_name
參數
此表格包含DROP AUDIENCE
命令所需的引數:
IF EXISTS
db_name
table_name
範例:
下列範例示範如何使用DROP AUDIENCE命令刪除對象:
DROP AUDIENCE IF EXISTS aud_test;
自動對象註冊與可用性 registration-and-availability
使用SQL擴充功能建立的對象會自動在Audience工作區的Data Distiller Origin下註冊。 註冊後,這些受眾即可在檔案型目的地中用於鎖定目標、增強細分和目標定位策略。 此程式不需要額外設定,可簡化受眾管理。 如需如何在Experience Platform UI中檢視、管理和建立對象的詳細資訊,請參閱對象入口網站概觀。
針對目的地啟用客群 activate-audiences
將對象鎖定在任何以檔案為基礎的目的地(例如Amazon S3、SFTP或Azure Blob),以啟用對象。 擴充的對象屬性可於需要時進行進一步細分和篩選。
功能說明 faqs
本節說明在Data Distiller中使用SQL建立和管理外部受眾的相關常見問題。
問題:
- 是否僅支援平面資料集進行受眾建立?
- 建立對象會產生單一資料集或多個資料集,還是會根據設定而有所不同?
- 在對象建立期間建立的資料集是否標籤為設定檔?
- 資料集是否在資料湖上建立?
- 對象中的屬性是否僅限於企業批次檔案型目的地? (是或否)
- 我可以建立使用Data Distiller對象的對象嗎?
- 這些對象會出現在Adobe Journey Optimizer中嗎? 如果沒有,我在規則產生器中建立新對象(包含此對象的所有成員)時,會發生什麼事?
- Data Distiller受眾是外部受眾,是否每30天刪除一次?
後續步驟
閱讀本檔案後,您已瞭解如何在資料Distiller中使用SQL對象擴充功能,以使用SQL命令有效建立、管理和發佈對象。 您現在可以根據獨特的業務需求自訂對象定義,並在各種目的地啟用對象定義,以最佳化行銷策略和資料導向式決策。
接下來,您可以閱讀下列檔案,以進一步開發及最佳化Experience Platform對象管理策略:
- 探索對象評估:瞭解Adobe Experience Platform中的對象評估方法:即時更新的串流細分、排程或隨選處理的批次細分,以及Edge Network上即時評估的邊緣細分。
- 與目的地整合:閱讀如何使用Experience Platform目的地UI 隨選匯出檔案至批次目的地的指南。
- 檢閱對象效能:分析您的SQL定義對象在不同管道中的執行方式。 使用資料深入分析來調整和改善您的對象定義和定位策略。 閱讀有關對象深入分析的檔案,瞭解如何在Adobe Real-Time CDP中存取和調整SQL查詢,以獲得對象深入分析。 接著,您可以自訂「對象」控制面板,建立自己的深入分析,並將原始資料轉換為可操作的資訊,以有效視覺化並運用這些深入分析,做出更好決策。