Connector · Mobile attribution and marketing analytics

Singular, matching ad spend to real customers.

How our analytics and monitoring module uses Singular to set what each campaign costs against the customers it brings: who Singular is, how consent shapes the connection, how an install and a first payment reach it, and how we get you live.

Website
singular.net
Modules
Analytics & monitoring
SDKs
iOS, Android, Flutter, React Native, Unity, Web
Contract
We help you get it
Checked

Who Singular is

Singular is a marketing analytics and mobile attribution company based in San Francisco. It was founded in 2014, with a second office in Tel Aviv from the start, to bring a marketer's data from ad networks and other tools together, and in 2017 it acquired Apsalar, a mobile attribution company, to measure installs itself. Today it pulls cost data from more than 1,200 sources and joins it to the installs and in-app events it attributes, so return on ad spend can be read by campaign, creative, country and cohort. Fraud prevention, deferred deep links that take a new customer to the right screen after the install, and exports to a data warehouse sit around that.

On iPhones its SDK can wait for the answer to Apple's App Tracking Transparency prompt and manages SKAdNetwork conversion values, and Singular collects copies of Apple's SKAdNetwork and AdAttributionKit postbacks. Its privacy controls follow the two decisions a consent screen makes, whether the SDK starts at all and what may be shared with ad networks, and its OpenDSR API erases the user-level data it holds for one customer. Singular maintains its own Flutter SDK on top of its iOS and Android SDKs, is audited every year for SOC 2 Type II and is certified to ISO 27001. That is why it is one of the attribution connectors of our analytics and monitoring module.

What it does in your platform

  • Analytics & monitoring

    Shows your marketing team what each campaign cost and what it brought: the spend Singular pulls from every ad network, next to the installs, accounts opened and first payments that followed. Installs and sessions come from Singular's SDK in the apps, only for customers who agreed; account openings and payments come from the platform's server, so they match the ledger.

How the connection works

In the apps, Singular's own Flutter SDK, singular_flutter_sdk, records installs and sessions once a customer agrees. On the server, the platform sends money events to the EVENT endpoint of Singular's server-to-server (S2S) API, which authenticates them by your SDK key, and erasure requests to its OpenDSR API, authorised with an API key that never leaves the server.

  1. A campaign brings an install

    A customer taps one of your campaign's Singular Links, installs the app and opens it. Until they answer the consent screen, the app does not start Singular's SDK, and Singular receives nothing from the device.

  2. The customer agrees

    They agree to attribution, and only then does the app start the SDK, with Limit Data Sharing already set from the consent screen so the install carries it. On iPhones, Apple's tracking prompt comes first, and the app starts the SDK only for customers who allow tracking there too; the installs of those who decline count in Apple's SKAdNetwork and AdAttributionKit results, which Singular collects.

  3. Singular credits the campaign

    Singular checks the clicks and views that came before the install against the fraud methods you switched on, then credits the campaign that brought it. It gives the device a Singular Device ID, which the app hands to the platform, and after sign-up the app sets the random platform ID as the customer's user ID in Singular. Names, email addresses and phone numbers are never sent, not even hashed.

  4. An account is opened

    When the KYC check passes, the platform's server sends an account-opened event to the EVENT endpoint with the device's Singular Device ID, the platform ID and the customer's data-sharing choice, which Singular asks for on every event. Singular does not remove duplicates, so the platform sends each event once.

  5. The first payment settles

    When the ledger settles the customer's first payment, the server reports it the same way. Singular's reports then set the spend it pulled from each ad network against the accounts and first payments that network brought, by campaign, creative and country.

  6. Consent is withdrawn

    If they turn attribution off in the app's settings or ask to be forgotten, the app calls the SDK's stopAllTracking, which keeps it silent until tracking is resumed, and the server stops sending. The platform then files an erasure request with Singular's OpenDSR API for the platform ID, and Singular removes the user-level records it holds for it within 30 days.

Next to other providers

Singular sits with Adjust, AppsFlyer and Branch among the module's attribution connectors: it answers where a customer came from and what bringing them in cost. Mixpanel, Amplitude, Google Analytics for Firebase or PostHog show what customers do in the apps, Segment is the module's customer data platform, Customer.io, Braze or CleverTap keep in touch with customers who opted in, and Sentry, Firebase Crashlytics and the other monitoring tools report crashes and errors. Every analytics, attribution and engagement tool waits for the customer's consent to its purpose, knows customers by the same random platform ID and receives only what your tracking plan lists.

Your platform remains the source: it holds the tracking plan and each customer's consent, sends the money events itself and passes Singular only what the plan lists. If you move to another attribution provider later, a connector changes, while the screens, the events and the consent flow your customers know stay the same.

When Singular fits best

A strong fit when

  • You buy app installs from many ad networks and want each network's spend, pulled in automatically, next to the accounts and payments it brought.
  • Your consent screen separates measurement from sharing with ad networks, and you want both choices enforced: the SDK starts only after consent, and Limit Data Sharing restricts postbacks partner by partner.
  • You want installs checked for fraud before a campaign gets the credit, from click injection and click spamming to traffic from data centres, anonymising proxies and Tor.

Also worth a look

  • Adjust, AppsFlyer or Branch, the module's other attribution connectors, when your marketing team already works in one of them.
  • Mixpanel, Amplitude, PostHog or Google Analytics for Firebase on their own, while your apps grow without paid install campaigns.

How we get you live

  • The contract

    We help you get your Singular account and contract in place, with Singular's data processing addendum covering your customers' data and the features your consent model needs, such as Limit Data Sharing, switched on for your account.

  • The data

    The data processing addendum in Singular's published terms names Amazon Web Services in the United States as its data and cloud storage provider, under the EU's standard contractual clauses. If your data has to stay in the EU, we settle the region with Singular before signing. Together we agree the events on your tracking plan, such as account opened, card issued and first payment, and how your consent screen drives Singular's two controls: starting the SDK, and Limit Data Sharing with a restriction set for each ad network.

  • The keys

    The apps carry only the SDK key and secret from your Singular account, the credentials its SDKs are built to hold, and never Singular's reporting API key, as Singular warns. The server's events reach the S2S API with the SDK key, which is how that API authenticates them, and the API key for OpenDSR erasure requests stays in your platform's secrets.

  • A full test run

    Test builds report to a separate development app in Singular with its own bundle ID, as Singular recommends, so test installs stay out of your real figures. On registered test devices we check consent, Apple's prompt, server events, deep links and the opt-out live in Singular's Testing Console, then run its SDK Audit, before your first real customer.

Questions

Asked about this connector.

How do we get started with Singular?

Talk to us. We help you get the Singular account and contract in place, agree your events and how your consent screen drives Singular, connect its Flutter SDK and your platform's server, then test everything in a separate development app before your first campaign.

What does Singular receive before a customer agrees?

Nothing from your apps or your platform: the app starts Singular's SDK only after the customer agrees to attribution, Singular receives nothing for a device where the SDK never starts, and the server sends no events for that customer. Apple's SKAdNetwork may still report an install to Singular, without anything that identifies the device or the person. The cost, as Singular points out, is that deferred deep links need the SDK, so they work only for customers who agreed.

Where does Singular keep our data?

The data processing addendum in Singular's published terms names Amazon Web Services in the United States as its data and cloud storage provider, under the EU's standard contractual clauses, and Singular is certified under the EU-U.S. Data Privacy Framework. Singular also says it can configure data residency per market, the EU included. If your data has to stay in the EU, we confirm it with Singular and write it into your contract before launch.

What happens when a customer asks to be forgotten?

The app stops Singular's SDK and the platform stops sending their events, because Singular's erasure does not stop new data on its own. The platform then sends an erasure request to Singular's OpenDSR API for their platform ID, which Singular holds as their user ID, and Singular removes the user-level records, such as logs and attribution details, within 30 days. Aggregated reports, which no longer point to anyone, are not changed.

Start your project

Tell us the idea. We'll show you the platform.

One call is enough to map your product to the modules that already exist.

  • Response in under one business day
  • NDA on request
  • No obligation
What are you building?