Data Processing Agreement

Last updated: 2026-06-09 Version: 1.7

This is Ordinary’s launch-version Data Processing Agreement. It reflects GDPR Article 28 minimum requirements and industry-standard SaaS practice. External legal counsel review is planned when revenue supports it. If you’re a merchant with a specific legal requirement not covered here, contact privacy@tryordinary.com and we’ll address it inline.

This Agreement governs Ordinary’s processing of Personal Data on behalf of its merchant customers (“Controller”) who use the Ordinary application (“Processor” or “Ordinary”). It is effective from the date the Controller accepts Ordinary’s Terms of Service and remains in force for the duration of the Controller’s use of the Ordinary Service.


1. Definitions


2. Roles and Scope

2.1 Controller / Processor relationship

The Controller determines the purposes and means of processing Personal Data (what analytics to collect, which integrations to enable, whether to forward events to ad platforms). Ordinary acts as a Processor, processing Personal Data solely to provide the Service on the Controller’s documented instructions.

Where Ordinary forwards hashed customer identifiers to a third-party ad platform (Meta Conversions API) at the Controller’s instruction, Ordinary acts as a Processor in this activity too. Meta is a separate Controller or joint Controller of the data it receives, per its own terms. Ordinary’s role is limited to hashing and forwarding on the Controller’s behalf. Ordinary’s Google Ads integration reads Google’s reporting APIs and, at the Controller’s instruction, creates draft (non-serving) ad creative assets in the Controller’s own Google Ads account; Ordinary does NOT forward customer identifiers or conversion data to Google, and does not manage campaigns, budgets, bids, audiences, or live ad serving. Ordinary’s Klaviyo integration is also read-only ingest of Klaviyo’s reporting APIs; Ordinary does NOT send campaigns, edit flows, modify lists, or upload subscribers to Klaviyo.

2.2 Documented instructions

The Controller’s instructions to the Processor are documented in:

If the Controller issues instructions outside this scope, Ordinary will notify the Controller and may decline to execute them until they are formalised.


3. Nature, Purpose, and Duration of Processing

3.1 Nature and purpose

Ordinary processes Personal Data to provide cross-channel attribution and customer-journey analytics to the Controller. Specifically:

3.2 Duration

Processing continues for the duration of the Controller’s use of the Service. Data is retained per Section 8 (“Return or Deletion of Data”) on termination.


4. Types of Personal Data and Categories of Data Subjects

4.1 Categories of Data Subjects

4.2 Categories of Personal Data processed

This section describes the categories of Personal Data Ordinary processes on the Controller’s behalf. It is a category-level description, not a field-level inventory — the specific data points captured within each category evolve as the Service evolves.

4.2.1 Storefront activity (end customers of the Controller’s storefront)

Through the Shopify Web Pixel installed by the Controller, Ordinary captures storefront browsing and checkout interactions on the Controller’s behalf — for example pages and products viewed, search and cart activity, and progress through the checkout. Until the buyer enters identifying details at checkout, this activity is associated only with a pseudonymous visitor identifier.

The categories of Personal Data captured through this surface are:

A limited amount of attribution data (such as the marketing parameters a visitor first arrived through) may be held in the visitor’s own browser storage to support attribution across sessions. Where the buyer declines analytics consent through Shopify’s consent controls, this falls back to storage that is discarded when the browsing session ends.

4.2.2 Commerce data synced from Shopify

Once an order is placed, and on subsequent updates, Ordinary syncs commerce data from the Controller’s Shopify store via the Shopify Admin API. The categories of Personal Data this involves are:

(Product-catalogue and shop-settings data are also synced but do not relate to an identifiable natural person.)

The customer’s email address and phone number reach Ordinary both through checkout (§ 4.2.1) and through this Admin-API sync. Raw email and phone are stored within the Controller’s own data partition and are never sent to any third party in raw form.

Connected advertising and marketplace reporting data (read-only ingest)

When the Controller connects a Meta, Amazon, or Google Ads account to Ordinary, Ordinary ingests read-only reporting data via the respective platform’s API. For advertising accounts this is ad-performance data — performance metrics, ad creative content, targeting summaries, and configuration history for the Controller’s own campaigns. For a connected Amazon Seller account, Ordinary additionally ingests the Controller’s own Amazon selling-operations data — sales and traffic metrics, financial data (settlements, fees, refunds, and adjustments), inventory levels, and order records (product, quantity, and price only). In all cases this is the Controller’s own marketing- and business-operations data from the Controller’s own accounts; it does not include Personal Data of the Controller’s end customers / shoppers — in particular, the Amazon order records Ordinary ingests do not include end-buyer names, email addresses, or shipping addresses.

For Klaviyo this ingest is read-only in both directions: Ordinary reads reporting data and does not send campaigns, edit flows, modify lists, or upload subscribers. For Google Ads, Ordinary reads reporting data and, at the Controller’s instruction, creates draft (non-serving) ad creative assets in the Controller’s own account; it does not create, edit, or manage campaigns, audiences, budgets, or bids, does not serve or pause live ads, and does not upload conversions, customer-match audiences, or customer identifiers. Where a storefront order carries an ad-platform click identifier in its URL, Ordinary may match the order to the corresponding campaign so the Controller can compare platform-reported conversions against orders its storefront recorded.

Per Google Ads API Terms § 7(B), to the extent any Google Ads data constitutes personal data under the GDPR, Ordinary processes it consistent with the Controller’s obligations under the Google Ads Controller-Controller Data Protection Terms (https://privacy.google.com/businesses/controllerterms) and / or Google Ads Data Processing Terms (https://privacy.google.com/businesses/processorterms), as applicable to the Controller’s Google Ads program account.

4.2.3 Hashed customer identifiers (only when forwarded to ad platforms)

When the Controller has connected the Meta integration, Ordinary forwards hashed (irreversible, SHA-256) customer identifiers derived from contact and name details — together with order values — to the Meta Conversions API, on the Controller’s instruction, to improve the Controller’s campaign measurement. No identifier is forwarded in raw form. Ordinary does not forward customer identifiers to Google Ads, Amazon, or Klaviyo. None of these receive end-customer Personal Data from Ordinary — the Google Ads integration’s only write is creating draft ad creative assets at the Controller’s instruction (no customer data; see § 4.2.2), and Amazon and Klaviyo are read-only ingest only. The current Sub-Processor list is maintained at /sub-processors.

4.2.4 Authorised users of the Controller’s Ordinary account

For the Controller’s own staff who log in to the Ordinary dashboard, Ordinary processes account and authentication data:

Where the Controller installs Ordinary from the Shopify App Store, Ordinary uses the shop owner’s name and email supplied by Shopify during the OAuth handshake to create the initial authorised-user account. No password is collected at install. If an account already exists for that email, the new organisation membership is attached to it rather than creating a duplicate.

4.2.4a Acceptance records for Ordinary’s Terms and Privacy Policy

When an authorised user accepts the Ordinary Terms of Service or Privacy Policy, Ordinary records which document and version was accepted, when, and the browser information for the acceptance, so it can demonstrate consent if later asked by the Controller, a data subject, or a regulator. Consistent with Ordinary’s region-aware posture (§ 4.2.5), the IP address of the acceptance is retained only for visitors outside the stricter-regulation regions. These records are retained for the lifetime of the authorised user’s account plus a defensible audit window thereafter.

4.2.5 Attribution, identity linkage, and region-aware posture

To provide attribution analytics, Ordinary associates a visitor’s sessions with one another and with the orders they place, so the Controller can see which marketing channels and touchpoints led to a purchase. Within the same browser, this association relies on a pseudonymous identifier that is not derived from Personal Data and is treated as pseudonymous under GDPR Art. 4(1) until and unless it is linked to identifying data.

Region-aware posture. For visitors in stricter-regulation regions — the European Economic Area, the United Kingdom, Switzerland, and Brazil — Ordinary applies a more conservative identity-linkage posture: it does not perform the cross-session, email-based linkage it may perform for visitors elsewhere, so a single buyer using multiple devices may appear to the Controller as multiple distinct visitors. Visit-to-order attribution within the same browser is preserved in all regions; only the broader cross-device, identity-based linkage is suppressed for stricter-region visitors. This posture is the default and is applied at the point the data is collected.

For visitors elsewhere (including the US, Canada, Australia, New Zealand, and the rest of the world), Ordinary performs the broader identity linkage as part of the attribution feature, on the Controller’s documented instruction and in reliance on the Controller’s own privacy disclosures. This linkage takes place within the Controller’s own first-party systems and does not constitute a “sale” or “share” of personal information under CCPA / CPRA.

A Controller in a stricter-regulation region that wishes to enable the broader linkage for its own buyers may request this in writing, provided its privacy policy and consent practices cover the linkage; the default remains the more conservative posture.

4.2.6 Server-derived attribution for some orders

For a small proportion of purchases — for example where a shopper’s browser blocks analytics from running — Ordinary may not capture storefront activity directly. For those orders, Ordinary may derive a limited attribution view from the order data the Controller already shares with Ordinary and from Shopify’s own customer-journey information for the order. These derived records introduce no new categories of Personal Data beyond the order data itself, do not reconstruct pre-purchase browsing, and follow the same region-aware posture described in § 4.2.5. Where genuine storefront data and a derived view both exist for an order, Ordinary’s reports use the genuine data.

4.2.7 Historical analytics baseline (pre-install backfill)

When a Controller installs Ordinary, Ordinary retrieves a one-time historical analytics baseline from Shopify covering the period before installation, so the Controller’s dashboards have historical context. This baseline consists of aggregate traffic and source data only — it contains no individual-shopper identifiers and no end-customer Personal Data, and is included here only for completeness of the Shopify → Ordinary data flow.

4.3 What Ordinary does NOT process


5. Security Measures

Ordinary implements appropriate technical and organisational measures to protect Personal Data against unauthorised or unlawful processing and against accidental loss, destruction, or damage. These measures are reviewed periodically as the Service evolves.

5.1 Technical measures

5.2 Organisational measures

5.3 Breach notification

Ordinary will notify the Controller without undue delay, and in any event within 72 hours of Ordinary becoming aware of a Personal Data breach affecting the Controller’s data. Notification will include:

Notification will be sent to the administrative contact on file for the Controller’s account. Controllers are responsible for maintaining a valid administrative email in their Ordinary account settings.


6. Sub-Processors

6.1 General authorisation

The Controller authorises Ordinary to engage Sub-Processors to process Personal Data, subject to the conditions in this section. The current list of Sub-Processors is maintained at /sub-processors and in docs/SUB_PROCESSORS.md in this repository.

6.2 Notification of new Sub-Processors

Ordinary will update the Sub-Processor list at least 30 days before engaging a new Sub-Processor for a new category of processing. Controllers may object to the new Sub-Processor in writing within that 30-day window. If the objection is reasonable and cannot be resolved, the Controller may terminate the Service without penalty as its sole remedy.

6.3 Ordinary’s obligations

Ordinary will impose on each Sub-Processor data-protection obligations no less protective than those in this DPA. Ordinary remains liable to the Controller for the performance of its Sub-Processors.


7. Data Subject Rights

7.1 How data-subject requests reach Ordinary

End-customer data-subject requests (access, deletion, correction, portability) are managed primarily through the Controller’s own Shopify admin, which issues the standard Shopify GDPR webhooks. Ordinary receives:

Controllers can also contact Ordinary at privacy@tryordinary.com to initiate the same requests directly.

7.2 Response timeline

Ordinary will respond to data-subject requests initiated by the Controller within 30 days, consistent with GDPR Art. 12(3). For technical requests requiring a larger dataset (e.g. a full customer-journey export spanning years), the timeline may extend to 60 days with prior notice.

7.3 Controller’s responsibility

The Controller is responsible for:

Ordinary will not respond directly to end-customer data-subject requests for Controller data except in emergencies or as required by law, in which case Ordinary will notify the Controller before or concurrently with the response.


8. Return or Deletion of Data on Termination

8.1 On termination of the Service

Within 90 days of termination of the Controller’s Service:

8.2 Early export

At any time before termination, the Controller can export its data via:

8.3 Data that cannot be fully deleted

Where hashed identifiers have been forwarded to Meta or other ad-platform Sub-Processors before the deletion request, Ordinary cannot delete the data from those platforms — the Controller must use the ad platform’s own data-deletion flow, which Ordinary will assist with on request. (Google Ads is not in this list because Ordinary forwards no customer identifiers to Google in the first place — the integration reads reporting data and at most creates draft ad creative assets, which contain no customer Personal Data.)


9. Cross-Border Transfers

Ordinary’s primary infrastructure is hosted in the US (Vercel, Neon on AWS) with EU-region options available for specific components where required. For data transfers from the EEA / UK / Switzerland to the US, Ordinary relies on the EU-US Data Privacy Framework where the Sub-Processor is certified, and on Standard Contractual Clauses (2021 SCCs, module 2 or 3) otherwise.

Controllers subject to EU/UK/Swiss data-protection law may request a signed copy of the SCCs via privacy@tryordinary.com.


10. Audit Rights

The Controller or a mutually agreed independent auditor may audit Ordinary’s compliance with this DPA once per calendar year, at the Controller’s expense and with at least 30 days’ written notice. Ordinary may satisfy audit requests by providing:

On-premises audits are available for Controllers with legitimate compelling reasons, subject to scheduling and reasonable confidentiality protections.


11. Liability

Liability under this DPA is governed by the Limitation of Liability section of Ordinary’s Terms of Service. The Controller and Ordinary each remain liable for their own compliance failures. Ordinary is not liable for data-subject requests unanswered because the Controller did not forward them from Shopify or otherwise communicate them.


12. Governing Law

This DPA is governed by the same law as Ordinary’s Terms of Service (Delaware, USA). For Controllers subject to EU/UK data-protection law, the GDPR and UK GDPR apply to the processing of Personal Data under this DPA, and the SCCs referenced in Section 9 apply to cross-border transfers.


13. Contact

For any matter relating to this DPA:

Ordinary commits to responding within 5 business days.