We'll send you updates from the blog and monthly release notes.
August 15, 2023
The customer 360 is a holy grail when it comes to customer data. Its value is presupposed, and companies are willing to go to any length to attain it. However, the difficulty of attaining it causes many to write it off as a farce or an impossibility, cheapening its perception.
The truth is customer 360 is very much attainable, today more than ever, and it does have the potential to drive a sustained competitive advantage. In fact, its importance is growing as digital commerce gets more competitive and consumer expectations increase.
In this post, we’ll look at the technical challenges that make attaining a customer 360 so difficult, and we’ll walk through each step of the process. But we’ll show you how, with modern technology, customer 360 is within reach for every company. We’ll detail how you can use RudderStack’s Warehouse Native CDP to solve the challenges behind customer 360 at every stage of the data activation lifecycle – collection, unification, and activation – so you can focus on using your data to drive value across the business.
What is a customer 360?
A Customer 360 (see what is customer 360) is a comprehensive, unified view of every available data point for every individual customer. Technically, it manifests as a clean customer 360 table with one row per customer and columns for every customer attribute. But it’s typically delivered in a manner that’s accessible and usable by non-technical business users.
A 360-degree view of the customer serves as a single source of truth for each customer that offers a complete picture of the customer's journey with the company. It allows businesses to gain a more holistic understanding of their customer's behaviors, preferences, and needs, driving a deep customer intelligence that enables them to deliver more personalized customer experiences.
How to create a 360-degree view of your customer
Building a customer 360 is a heavy lift for any team. We’ve written about why it’s hard. In fact, it’s so difficult to bring these projects to completion that last year, Gartner reported only 14% of companies have achieved a 360-degree view of their customer. But a staggering 82% of these companies still actively aspire to achieve the coveted goal.
This gap between aspiration and attainment is why we developed our Customer 360 Solution – RudderStack Profiles. Profiles makes it easy for every data team to build a single view of the customer in their data warehouse. In this section, I’ll detail what it takes to create a customer 360 and highlight how RudderStack can simplify the process, enabling you to focus on more impactful work.
Step 1: Collect the customer data
Building a customer 360 starts with collecting data from every customer touchpoint and augmenting it with available enrichment data. While data collection needs vary across businesses and industries, and no one knows your specific needs like you do, it’s helpful to consider what data collection entails for a typical customer 360.
First-party data is the most critical data component when it comes to your customer profiles. You should prioritize this as the foundation of your customer 360, but building a comprehensive picture often means including valuable data from available second and third-party sources. Below, we’ll provide an overview of each data source:
- First-party user behavior data – Called clickstream or event data, this data gets collected in real-time and represents your customer’s digital customer journey. It includes all of the actions taken by your users across platforms and devices.
- First-party batch data – Often thought of as traditional ETL data, batch data includes all of the customer information stored in cloud SaaS tools and databases such as your CRM or support desk tool.
- Second and third-party data – This data can be grouped together and called enrichment data. It augments your first-party data to give you more comprehensive customer profiles. Second-party data might come from ad platforms and shipping/delivery systems while third-party data, purchased from data vendors, can complete your customer picture with browsing, intent, and demo/firmographic data.
To collect data for your customer 360, you could build all the pipelines yourself, but building pipelines is time-consuming and resource intensive. It also inevitably forces you to focus on maintenance and scale – often at the expense of data quality – which can compromise your entire customer 360 project. With modern, developer-friendly tooling, it’s best to prioritize buying pipelines for data collection instead of building them in-house.
"You have to have your team focus on what is truly a value add for your customer or your business, and doing that requires not building something that you can buy off-the-shelf that gives you 95% fit in terms of what you want."
—Nari Sitaraman, CTO, BARK
The benefits of buying pipelines for customer 360 data integration
When considering data collection, it’s important to remember that your data must be trustworthy in order to be useful. The old adage “garbage in, garbage out” is painfully true for data teams, and if your business stakeholders don’t trust your data, your hard work will go to waste. Buying data pipelines makes it easier for you to collect clean, trustworthy, and usable data without the headache of low-level engineering work, freeing you up to focus on more impactful projects.
Buying data pipelines also removes the hidden cost of building pipeline and collection features that may be offered out of the box by a vendor. Take schemas, for example. Schema management, especially when it comes to handling new or changing data, is complex. RudderStack automates schema creation and management, guaranteeing graceful handling of updates because it syncs changes with the schema in the data warehouse using the same rules every time.
With plug-and-play Event Stream and Cloud Extract ETL pipelines in one platform, RudderStack enables you to easily manage data collection, with a standardized schema, across every one of your company’s websites, apps, and SaaS tools and send it in real-time to over 200 destinations, including your data warehouse or data lake where it can be centralized for the next step in creating a customer 360.
When it comes to second and third-party data integration, tools like Snowflake can reduce the amount of work required. Snowflake’s data marketplace makes it easy to access data from a variety of second and third-party sources and pull it directly into your data cloud environment, so you can ship enriched data sets faster.
Step 2: Model the customer data into complete profiles
After collecting the data for your customer 360 and centralizing it in your data warehouse or data lake, you need to unify the data to create customer profiles. This process requires three steps that build on each other and make each next step significantly easier:
- Profile schema design
- Identity resolution
- Building user features
Profile schema design
First, it’s important to define what a complete customer profile looks like in your data warehouse. On a basic level, your customer 360 exists as a table with one row per user and a set of columns that represent everything you know about that user. Those columns are often called user traits or attributes and represent the schema of your customer profile table. There are four key types of traits in this schema:
- Unique identifiers – Unique identifiers are all of the unique IDs you have for your user from every data source.
- Known user attributes – Known user attributes are all of the additional, non-ID data points about a customer that live in various tools and data sources. These are often demographic, behavioral, and stage/state related.
- Computed traits – Computed traits, also called user features, are calculated by combining data sets that contain information related to the user.
- Predictive traits – Predictive traits, like customer lifetime value, are computed on top of the three types of traits above using predictive machine learning algorithms.
All of these features change over time, and sometimes in real-time, so the schema must be updated frequently to ensure all customer profiles are up to date with the latest data.
With a profile schema design established, you’re ready to solve the problem at the heart of your customer 360: Identity resolution. This process includes stitching unique identifiers, establishing a canonical identifier, and building an identity graph that includes every unique identifier associated with a user.
The first step in building a complete customer profile is ensuring you have a comprehensive set of unique identifiers that represent the customer. This is called identity stitching.
Even simple user journeys make identity stitching complex. For example, a user might make a purchase on your website with their email, email@example.com, as their unique identifier. Later, the user downloads your mobile app and makes a purchase using a mobile phone number, 650-672-5618. Finally, after trying the products, the user buys your subscription service. This transaction is tracked through a payments system with an opaque UUID, 8967-1324-5126-0897 (let’s call it payments_id).
Without stitching each unique identifier to the user, systems and teams will wrongly assume that these three transactions are from three distinct users. Worse yet, you are unable to calculate — or inaccurately calculate — important computed traits like user_total_revenue because of the fragmented user identities.
Establishing a canonical identifier
In order to stitch this user’s identity, you must map the three identifiers, email (firstname.lastname@example.org), mobile (650-672-5618), and payments_id (8967-1324-5126-0897) into a single canonical identifier (let’s call it canonical_id). This step is called identity mapping, and it’s foundational to computing traits like user_total_revenue. In this case, you would sum all purchase events associated with the user’s canonical_id.
The output of associating these IDs to a single canonical ID should be an identity graph.
Building user features
User features are a key part of any warehouse-based analytics project. Many analytics teams simply call them metrics because they are generally grouped with other KPIs that are used to run the business. Your features will come directly from the traits included in your customer profile schema:
- Known user attributes
- Computed traits
- Predictive traits
The methodology of user feature development with SQL queries is a fairly standard practice for business intelligence. The most common approach is to define each feature (and other closely related features) as a model. Using this approach, the same model generates features like total_revenue_last_7_days and total_revenue_last_14_days, while a separate model generates features focusing on recent activity.
Though the individual pieces of the process are straightforward, scaling the system in the context of a customer 360 remains a significant challenge as complexity increases. To overcome these challenges, you must both anticipate the issues that arise at scale and revisit their underlying methodology.
Building a feature store
Developing features in SQL (or Python, for that matter) is just the first part of the equation. Ultimately, a customer 360 table is a user feature store. Within that feature store, traits and features change, meaning you need to manage additional metadata about those features to give teams context and understand how features change over time. Your Metadata should include:
- A user-friendly description of the trait
- The point in time at which the trait or feature was computed
- Definition signatures for validity
- Time-based validity to inform compute scheduling
Solve identity resolution at the source with a configuration-based approach
Considering identity in the models that build up to features isn’t rocket science, but maintaining the logic becomes repetitive and error-prone. Building funnels, a common requirement for user journey analysis and retargeting, involves the same challenge – it’s possible, but doing surgery on a massive funnel query is laborious.
These challenges point to a better way – solving for complete customer profiles at the source. Modern data leaders are adopting a configuration-based methodology that abstracts away the complexity of intricate SQL. Tools that generate SQL based on maps and definitions make this possible.
RudderStack Profiles leverages this concept to automatically generate identity graphs and user features. As a part of our Warehouse Native Customer Data Platform, Profiles can use data collected from RudderStack’s pipelines with standardized schemas that include established user identifiers, so the baseline map of nodes and edges is already known, and all of the SQL can be inferred.
Augmenting the graph with new data sources and identifiers is as simple as adding input components and column names to the existing config file. Feature development works the same way.
This approach enables you to reduce the cost of building and maintaining an identity graph with mountains of SQL, and it means you can drive revenue faster by building on an existing graph and feature set. It also delivers major quality-of-life improvements:
- Developing features gets significantly easier, but the generated SQL is still auditable
- You can use one feature to define other features, significantly speeding up development
- You can generate a metadata registry based on the run-time metadata when the customer profile table is generated.
SQL isn’t going anywhere, but with a configuration-based approach, you no longer need to waste valuable engineering time on low-level work that doesn’t move the needle.
Step 3: Activate your customer 360 to deliver business value
Now that you’ve collected your data and unified it into complete customer profiles, you’re ready to put the profiles to work in initiatives across the business. With your customer 360 in your warehouse, you’ll be able to drive deeper, more efficient data analytics and do customer journey analysis in full color to answer harder questions for the business. Combine this richer understanding with ML capabilities, and you can move from descriptive analytics to predictive analytics, unlocking a new world of innovative capabilities.
What’s most exciting, though, is how you can fuel every team in the business with the valuable data from your customer 360 in the tools they use every day. Reverse ETL pipelines make it easy to push your profiles to downstream systems used by marketing teams (Braze for marketing automation), sales teams (Salesforce for customer relationship management), customer service teams (Zendesk for customer loyalty and support), and product teams (Amplitude for product analytics). This unlocks use cases like advanced personalization, improved ad targeting and segmentation for marketing campaigns, and more sophisticated lead scoring.
You can also feed feature output from your profiles directly into your ML infrastructure so your Data Science team can build better models, faster. With rich data from your customer 360, data science can ship projects that create deep moats like advanced recommendation engines for new customer acquisition and superior churn prediction algorithms to increase customer retention.
Customer 360 within reach
Creating a customer 360 is a non-trivial undertaking, but it no longer has to be a Sisyphean task. Modern tools and methods make it easier for every business to eliminate data silos and fulfill the dream of customer 360. Our founder, Soumyadeb Mitra, learned many lessons as a data leader that laid the foundation for RudderStack’s warehouse native approach to the problem.
Our end-to-end platform sits on top of your data warehouse and solves the major technical challenges of building a customer 360 – from data collection to activation – for you, so you can focus on delivering value across the business.
Head of Product Marketing