Customer Data Platform to Aggregate Subscriber Data from Multiple Sources

Customer Data Platform to Aggregate Subscriber Data from Multiple Sources


Our client is an agency that provides full-cycle marketing automation, Martech stack building, and strategic marketing consulting to major US newspapers. Their entire clientele constitutes 60% media market share.


The client utilized a multi-level customer engagement system, which consisted of multiple interconnected modules (paywall, checkout panel, self-service portal, campaign management module, etc). Each module collected some restricted sets of a newspaper website user data. To adjust engagement strategies for each concrete user with high accuracy, all the data should have been centralized and organized within unified customer profiles. 

Project Description

We developed a Cusomer Data Platform (CDP) that performs customer data aggregation from the following engagement system components: 
  • Paywall (an engine that restricts free content for a user) 
  • Self-service portal (that allows subscribers to autonomously resolve their subscription issues) 
  • Customer Service Portal (that allows subscribers to get guided support of a newspaper customer service team) 
  • Campaign Management Module (that enables ad campaigns management) 
  • Analytics module (that built and stored aggregated some transactional and subscriptions data) 
Additionally, CDP collected data from external services like authentication providers, email campaign service providers, payment providers, newspaper manufacturing and delivery processors (circ systems).  The CDP standardized a wide range of data from these modules (for both anonymous and authorized users), then merged it under single user ID to build a unified customer profile that allows for deep, individually tailored personalization.     The CDP works with diverse sets of data – the key of them you can explore below: 
  • Demographic data (e.g.age, location, gender, etc) 
  • Behavior data (activity on the newspaper website, such as clicks, pageviews, etc)  
  • Contacts (email, telephone, etc) 
  • Payment data and history (successful and failed payments, timely and missed payments, etc) 
  • Subscription history (subscription purchases, upgrades, downgrades, pauses, terminations, etc) 
  • Service delivery history 
  • Service issues and complaints history 
  • Emails within marketing campaigns send history 
  The consumer of the data aggregated within CDP is another module of the system – an Engagement Module (they communicate through an API). It works out a data-driven engagement strategy for a concrete user, based on all available data for it. For example, based on the available data, Engagement module can provide customized incentive, make a decision when to paywall a user, adjust subscription pricing and package, show personalized offers, and many more.    

Key Features

Aggregation of visitor and subscriber data from 5+ data sources

Merging of anonymous (when using VPN, incognito, etc) and authorized data pieces per each user

Customer data centralization, creating a unified customer profile

Communication with Engagement module to enable personalization of customer experience, subscription offers, and promotions

Team & Time Frame

The project was successfully accomplished within a span of 12 months, with a team consisting of:

Front-end developer
Data engineers
Data scientist

Major Tech Stack

Google BigQuery, Mongo, Go, Python, TypeScript, Google Cloud 


The Customer Data Platform that we developed enables advanced personalization by aggregating and unifying visitor and subscriber data (including both anonymous and authorized activity) from various sources internal martech ecosystem and external ones. The comprehensive customer profiles allow our client to deliver highly targeted and relevant content, offers, and experiences to each newspaper website user, facilitating conversions and subscriber loyalty.

Ready to talk about a similar solution for your business?

Get in touch with us at:

    Select a Service:
    First name
    Last name