Apple Ads — important note: Apple Ads is supported for agency attribution, but works differently from other SANs. Because Apple does not provide campaign name in its attribution claim or response, user-level attribution by agency is not available for Apple Ads. Agency attribution for Apple Ads is supported in aggregated reporting only, based on matching the agency naming convention in cost data. See the FAQ below for more details.
Singular is adding support for agency attribution on Self-Attributing Networks (SANs) such as Meta, Google Ads, and TikTok. This article explains how the feature works and what you need to do to prepare.
Overview
SANs present two challenges that make standard agency attribution impossible:
- SANs do not use tracking links, so there is no way to append an agency identifier at the click level.
- SANs only allow one partner configuration per appsite. Supporting multiple agency configurations the traditional way leads to duplicate data.
The new feature solves both problems by reading the campaign name to determine agency attribution. If a campaign name follows the correct naming convention — which includes the agency ID — Singular will attribute that user-level event to the correct partner and agency automatically, with no tracking link required
Once the feature is live, agency attribution for SANs will be reflected in:
- User-level data (export logs and user-level schemas)
- Aggregated reporting
Campaign Naming Convention
For Singular to attribute a SAN campaign to an agency, the campaign name must follow this exact format:
agencyid_{agencyid}_{campaignname}For example:
agencyid_adhe2_campaign name Tier 1 ROAS
Important: If the agency ID is present in the campaign name but not in the exact format above — including the agencyid_ prefix and underscore separators — it will not count toward attribution. Partial or incorrectly formatted values are ignored.
The campaign name portion (everything after the second underscore) can be any string you choose. Only the prefix and structure are required.
How to Set Up Campaign Names
Step 1: Find your agency ID
Agencies can navigate to their Profile Page; advertiser can find agency id's under the Agencies tab in User & Agencies section. Alternatively agency ids can always be found in Manage Links - they are populated in the agency id macro.
Step 2: Update existing campaign names
For all active SANs campaigns running on behalf of advertisers, update the campaign name in the ad network's platform to match the required format. You can do this now — you do not need to wait for the feature to go live. The naming change has no effect until launch and will not impact active campaigns.
Step 3: Apply the convention to new campaigns
Going forward, use the correct naming format for all new SAN campaigns from the start. Any campaign that does not follow the convention will not be attributed to your agency.
What's Included at Launch
| Status | Networks / Data |
| Supported — user-level & aggregated |
|
| Supported — aggregated only |
|
Frequently Asked Questions
Yes — and we recommend it. The naming change has no effect until the feature launches, so updating now will not disrupt active campaigns and ensures you're ready on day one.
The campaign will not be attributed to your agency. The format must
be exactly agencyid_{agencyid}_{campaignname}, including
the agencyid_ prefix and both underscore separators.
There is no partial match.
Yes. Everything after the second underscore is your campaign name and can be any string you choose.
For networks that support tracking links, you can include the agency ID directly in the link — Singular reads it at the click level and attributes the install to the correct agency automatically. Self-Attributing Networks do not use tracking links, so that method isn't available. The campaign naming convention is the alternative mechanism Singular uses to identify agency attribution for SANs.
Note that you can apply the same naming convention to all your agency campaigns across all network types — it will not interfere with regular attribution on networks that use tracking links.
Apple Ads does not include the campaign name in its attribution claim or response. Because Singular's agency attribution for SANs works by reading the campaign name from the attribution response, this method is not available for Apple Ads.
Agency attribution for Apple Ads is therefore supported in aggregated reporting only, where Singular matches the agency naming convention against cost data received from Apple. User-level export logs and user-level schemas will not reflect agency attribution for Apple Ads installs or events.