Data Samples
Explore your data by executing these queries to get the best of data share
This step by step guide will walk you through the different data objects of data share. Start exploring the data by using this guide to make sure each dataset purpose and value is fully comprehended.
Step 1: Targeted Customers Sample
Purpose: Create a basic customer list to work with to explore customers data. In this query we extract a list of customers that were targeted by any campaign through Optimove.
As this query might be too broad and heavy, consider using LIMIT to control volumes. In this example, the overall result will be MAX 2000 customers.
-- Generate a temporary table with unique customer IDs from both targeted and engaged datasets
CREATE OR REPLACE TEMPORARY TABLE TARGETED_CUSTOMERS_TEMP AS
SELECT DISTINCT CUSTOMER_ID
FROM (
SELECT CUSTOMER_ID
FROM VW_TARGETED_AND_EXCLUDED_CUSTOMERS_V1_2
LIMIT 1000)
UNION ALL
(SELECT CUSTOMER_ID
FROM VW_ENGAGED_CUSTOMERS_V1_2
LIMIT 1000
);
-- Validate the targeted customers dataset
SELECT DISTINCT CUSTOMER_ID FROM TARGETED_CUSTOMERS_TEMP;
Step 2: Sample Customers Table
Purpose: Extract customer profiles from the most recent profile data for the customers selected above. In this query, customer records will also contain an attribute CLIENT_CUSTOMER_ID
that can be used to cross this data with internal data.
Note that this query might yield less results, since not all customers necessarily has most recent profile record (dormant customers, for example, do not have daily records)
-- Create a temporary table for customer profiles linked to targeted customers
CREATE OR REPLACE TEMPORARY TABLE cust AS
SELECT cp.*
FROM VW_CUSTOMER_PROFILES_REAL_FIELD_NAMES AS cp
JOIN TARGETED_CUSTOMERS_TEMP AS tc
ON cp.CUSTOMER_ID = tc.CUSTOMER_ID
WHERE cp.PROFILE_DATE = (
SELECT MAX(profile_date)
FROM VW_CUSTOMER_PROFILES_REAL_FIELD_NAMES
);
-- Validate the sample customers dataset
SELECT * FROM cust;
Step 3: Targeted and Excluded Customers
Purpose: Identify customers who were targeted and/or excluded customers in scheduled campaigns. Using this query will return a customer-level data about the targeting history of the inspected customers.
-- Create a temporary table for targeted and excluded customers
CREATE OR REPLACE TEMPORARY TABLE targeted_and_excluded AS
SELECT tg.*
FROM BI.VW_TARGETED_AND_EXCLUDED_CUSTOMERS_V1_2 AS tg
JOIN cust AS cp
ON cp.customer_id = tg.customer_id
AND cp.profile_date = tg.execution_date;
-- Validate the targeted and excluded customers dataset
SELECT * FROM targeted_and_excluded;
Step 4: Scheduled Campaigns
Purpose: Retrieve metadata for scheduled campaigns associated with campaigns that were actually targeting customers.
-- Create a temporary table for scheduled campaigns
CREATE OR REPLACE TEMPORARY TABLE scheduled_campaigns_temp AS
SELECT *
FROM BI.VW_SCHEDULED_CAMPAIGNS_V1_2
WHERE plan_id IN (
SELECT DISTINCT plan_id
FROM targeted_and_excluded
);
-- Validate the scheduled campaigns dataset
SELECT * FROM scheduled_campaigns_temp;
Step 5: Campaign Results
Purpose: Analyze results of scheduled campaigns executed for the focused customers.
-- Create a temporary table for campaign results
CREATE OR REPLACE TEMPORARY TABLE Campaign_Results_temp AS
SELECT cr.*
FROM BI.VW_CAMPAIGN_RESULTS_V1_2 AS cr
JOIN scheduled_campaigns_temp AS sc
ON cr.plan_id = sc.plan_id
AND cr.plan_detail_id = sc.plan_detail_id;
-- Validate the campaign results dataset
SELECT * FROM Campaign_Results_temp;
Step 6: Engagement Activity
Purpose: Investigate customer engagement with all campaigns.
-- Create a temporary table for engagement activity
CREATE OR REPLACE TEMPORARY TABLE engagement_activity_temp AS
SELECT ea.*, sc.EXECUTION_START_DATE
FROM VW_ENGAGEMENT_ACTIVITY_V1_2 AS ea
LEFT JOIN scheduled_campaigns_temp AS sc
ON sc.PLAN_DETAIL_ID = ea.PLAN_DETAIL_ID
JOIN cust AS cp
ON cp.customer_id = ea.customer_id
WHERE ea.CUSTOMER_ID IN (
SELECT CUSTOMER_ID
FROM cust
);
-- Validate the engagement activity dataset
SELECT * FROM engagement_activity_temp;
Step 7: Triggered Campaigns Targeting History
Purpose: Examine the history of triggered campaigns involving engaged customers.
-- Create a temporary table for engaged customers
CREATE OR REPLACE TEMPORARY TABLE ENGAGED_CUSTOMERS_TEMP AS
SELECT
TO_DATE(ec.engaged_date) AS final_engaged_date,
ec.*
FROM BI.VW_ENGAGED_CUSTOMERS_V1_2 AS ec
JOIN cust AS cp
ON ec.CUSTOMER_ID = cp.customer_id;
-- Validate the triggered campaigns targeting history dataset
SELECT * FROM ENGAGED_CUSTOMERS_TEMP;
Step 8: Triggered Campaigns Metadata
Purpose: Retrieve metadata for triggered campaigns involving engaged customers.
-- Create a temporary table for triggered campaigns metadata
CREATE OR REPLACE TEMPORARY TABLE TRIGGERED_CAMPAIGNS_TEMP AS
SELECT tc.*
FROM BI.VW_TRIGGERED_CAMPAIGNS_V1_2 AS tc
JOIN ENGAGED_CUSTOMERS_TEMP AS ec
ON tc.CAMPAIGN_DETAILID = ec.CAMPAIGN_DETAIL_ID;
-- Validate the triggered campaigns metadata dataset
SELECT * FROM TRIGGERED_CAMPAIGNS_TEMP;
Step 9: Customers Targeted by Triggered Campaigns
Purpose: Summarize real customers targeted by triggered campaigns, excluding visitors
-- Create a temporary table for customers targeted by triggered campaigns
CREATE OR REPLACE TEMPORARY TABLE CUSTOMERS_TARGETED_TRIGGERED_CAMPAIGNS AS
SELECT
TO_DATE(ENGAGED_DATE) AS ENGAGEMENT_DATE,
*
FROM BI.VW_ENGAGED_CUSTOMERS_V1_2
WHERE CUSTOMER_ID IN (
SELECT CUSTOMER_ID
FROM cust
);
-- Validate the customers targeted by triggered campaigns dataset
SELECT * FROM CUSTOMERS_TARGETED_TRIGGERED_CAMPAIGNS;
Updated 3 days ago