Customers looking to use Snowflake for marketing use cases initially face a significant challenge: it is difficult to import all relevant marketing data into Snowflake and structure it in a unified format that downstream applications can easily utilize to power data-driven marketing.

This starter solution tackles this challenge of creating a marketing data foundation by offering two independent solutions and a merged version, demonstrating how to integrate both solutions into a comprehensive ‘marketing app suite'.

Marketing Data Foundation Starter (Merges the two apps below into a ‘marketing app suite')

This solution was inspired by how Snowflake runs its own end-to-end Marketing workflows entirely on top of the Snowflake Marketing Data Cloud.

Slide deck with more context on the overall solution: Marketing Data Foundation Starter for Customer 360 & Campaign Intelligence.

Problem Space

In the fast-evolving marketing landscape, the emphasis on data-driven strategies has become more pronounced than ever. A significant trend is the increase in Martech investments, with 63% of Chief Marketing Officers (CMOs) planning to increase their spending within the next 12 months. Such investments are crucial for enhancing customer engagement, refining marketing strategies, and driving sales through advanced data analysis.

The high ROI that businesses achieve from data-driven personalization also highlights its importance. Reports indicate that enterprises see returns of 5 to 8 times on their marketing budgets, which demonstrates the value of personalized marketing in boosting conversion rates, enhancing customer loyalty, and increasing revenue.

Additionally, the industry is shifting towards first-party data ownership, a move propelled by the deprecation of third-party cookies. This shift is essential for maintaining direct customer relationships and adapting to changing privacy norms. The promise of generative AI and the understanding that an effective AI strategy requires a robust data strategy have spurred efforts to centralize marketing data within Snowflake. Organizations aim to organize data into standard schemas that Large Language Models (LLMs) can understand, employing these models in innovative ways to personalize content and predict customer behavior.

Two types of first-party data are pivotal in these efforts: Customer 360 Data and Campaign Intelligence. The former strives to provide a holistic view of the customer by integrating and managing comprehensive data. In contrast, Campaign Intelligence focuses on data related to marketing campaigns, aiming to optimize performance and strategy. These elements are fundamental to successful data-driven marketing, underscoring the need for sophisticated data management and analytics capabilities.

Solution Space


As described in the diagram below, the two Data Foundation use cases in this starter lay the groundwork to support the two Marketing Execution use cases: Planning & Activation, and Measurement.


More specifically, this solution covers Data Ingestion, Semantic Unification, and based Analytics use cases for Customer 360 and Campaign Intelligence data.


Solution Details

Below are some snippet of the app that you are going to build.

Campaign Intelligence Starter

Alt text

Customer 360 Starter

Alt text

The solution consists of the following components:

What You'll Need

What You Will Learn

This solution consists of 2 individual solutions.

Data Foundation Starter for Customer 360

C360 Architecture

Data Foundation Starter for Campaign Intelligence

C360 Architecture

Clone GitHub repository

Clone the git repo to your local

git clone

Create a connection

Run the below command and provide your account details.

snow connection add

Test your connection by running the below command

snow connection test --connection="marketing_demo_conn"

Refer to the screenshot below for more info.

Alt text

Navigate to the repo folder in your local machine and run the below command to create your database, schema and stage objects

First lets export the connection name to the default connection

export SNOWFLAKE_DEFAULT_CONNECTION_NAME=marketing_demo_conn
cd sfguide-marketing-data-foundation-starter
snow sql -f sql_scripts/setup.sql

Alt text

Upload all the sample data files in the folder data to the stage created in step 1

snow object stage copy data/worldcities.csv @MARKETING_DATA_FOUNDATION.demo.data_stg/data
snow object stage copy data/sf_data/ @MARKETING_DATA_FOUNDATION.demo.data_stg/data/sf_data/ --parallel 10
snow object stage copy data/ga_data/ @MARKETING_DATA_FOUNDATION.demo.data_stg/data/ga_data/ --parallel 20
snow object stage copy data/sample_data.gz @MARKETING_DATA_FOUNDATION.demo.data_stg/data/

Alt text

If the upload fails due to an access issue then, please follow the instructions in this document to upload the files directly to Snowflake Stage.

Load data and create views

Run the below command to create the views that will be bundled along with the native app

snow sql -f sql_scripts/build_views.sql

Build NativeApp

snow app run

Alt text

Please DO NOT run this step if you have completed individual steps above. This step is for users to quickly run all the snow cli commands in one go.

bash ./sfguide-marketing-data-foundation-starter/

Alt text

Congratulations! You have successfully learned how to easily build an end-to-end Native Application loading sample data.

What you learned

Related Resources

Want to learn more about the tools and technologies used by your app? Check out the following resources: