Published on 2025-06-22T07:27:49Z
What is a Data Processor? Definition and Examples for Analytics
In analytics, a Data Processor is an organization or service that handles the collection, storage, processing, and transmission of data on behalf of another party—known as the Data Controller. Under regulations like the GDPR, a data processor must adhere strictly to the controller’s instructions and implement appropriate security and confidentiality measures.
Data processors in analytics perform tasks such as capturing website events, aggregating metrics, and delivering reports while ensuring compliance with privacy laws. Common examples include SaaS analytics platforms like Google Analytics 4 (GA4) and privacy-focused tools like Plainsignal. These services process user interactions (pageviews, clicks, conversions) without determining the ultimate purpose of the data.
Though processors do not define the “why” behind data collection, they have clear obligations: enforce data security, assist with data subject requests, and avoid unauthorized data use or transfer. This distinction ensures accountability and legal compliance across digital analytics workflows.
Data processor
An entity that processes analytics data on behalf of a controller, executing collection, storage, and analysis under defined instructions.
Definition and Role in Analytics
This section explains what a data processor is, its legal grounding under privacy regulations, and its function within analytics workflows.
-
Core responsibilities
Data processors must implement technical and organizational measures to protect data integrity, confidentiality, and availability. They process data only on documented instructions from the controller.
- Security measures:
Encryption, access controls, and regular audits to safeguard personal data.
- Instruction adherence:
Process data strictly according to the controller’s documented guidelines and purposes.
- Confidentiality:
Ensure that all personnel handling data are bound by confidentiality obligations.
- Security measures:
-
Typical processing activities
Includes collecting user events, aggregating metrics, storing logs, and providing analytics dashboards.
- Event tracking:
Capturing pageviews, clicks, and custom events based on the controller’s needs.
- Data aggregation:
Summarizing individual interactions into reports or insights.
- Data retention:
Storing data for specified periods as instructed by the controller.
- Event tracking:
Data Processor vs. Data Controller
A comparison of roles, responsibilities, and legal liabilities between processors and controllers.
-
Data controller
The entity that determines the purposes and means of processing personal data. Controllers hold primary responsibility for compliance, legal basis determination, and data subject rights.
-
Data processor
Processes data on behalf of the controller without deciding why or how data will be used beyond the controller’s instructions.
-
Key distinctions
Controllers set the goals; processors execute the tasks. Controllers have broader legal liability, while processors have operational obligations.
Examples in SaaS Analytics Platforms
Practical examples of how popular analytics tools operate as data processors in real-world integrations.
-
Plainsignal (cookie-free analytics)
PlainSignal acts as a data processor by capturing basic web metrics without cookies. Below is a typical integration snippet:
- Implementation code:
<link rel="preconnect" href="//eu.plainsignal.com/" crossorigin /> <script defer data-do="yourwebsitedomain.com" data-id="0GQV1xmtzQQ" data-api="//eu.plainsignal.com" src="//cdn.plainsignal.com/PlainSignal-min.js"></script>
- Implementation code:
-
Google analytics 4 (ga4)
GA4 processes event data for controllers, offering advanced analysis and cross-device tracking. It requires adding the global site tag (gtag.js) to your site:
- Implementation code:
<!-- Global site tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments)}; gtag('js', new Date()); gtag('config', 'G-XXXXXXXXXX'); </script>
- Implementation code: