www.appsflyer.com Open in urlscan Pro
3.171.139.49  Public Scan

Submitted URL: https://learn.appsflyer.com/MTA4LUFWVC03MzIAAAGVPJzyJyB0ZfawK6U5zmNOGdJYF9m-jKtsG794tk1mcDsQvwy8WGc4QIJZA31DBESm6ckdP2w=
Effective URL: https://www.appsflyer.com/blog/measurement-analytics/skan-vs-sandbox/?utm_source=marketo&utm_medium=email&utm_campaign=con...
Submission: On August 29 via manual from TR — Scanned from CA

Form analysis 3 forms found in the DOM

GET https://www.appsflyer.com/

<form role="search" method="get" id="searchform" class="search__form form-exclude-handler" action="https://www.appsflyer.com/">
  <div class="search__input-wrap">
    <input class="search__input" type="text" placeholder="Search" value="" name="s" id="s">
    <button class="btn search__btn" type="submit">
      <svg width="33" height="33" fill="none" xmlns="http://www.w3.org/2000/svg">
        <path d="M14.73 21.757a6.957 6.957 0 1 0 0-13.913 6.957 6.957 0 0 0 0 13.913ZM25.148 25.156l-5.5-5.437" stroke="#220D4E" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path>
      </svg>
    </button>
    <input type="hidden" value="post" name="type">
  </div>
  <div class="search__error"> this field can not be empty </div>
</form>

<form class="mktoForm mktoForm--newsletter-subscription w-100 mktoHasWidth mktoLayoutLeft on" id="mktoForm_2343" data-client-id="108-AVT-732" data-form-id="2343" data-form-type="subscription-modal-form" data-form-cta="Subscribe"
  data-current-url="https://www.appsflyer.com/blog/measurement-analytics/skan-vs-sandbox/" data-item-name="Subscription" data-action="message" data-redirect-url="" data-thank-you-title="Thanks!" novalidate="novalidate">
  <style type="text/css">
    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton {
      color: #fff;
      border: 1px solid #75ae4c;
      padding: 0.4em 1em;
      font-size: 1em;
      background-color: #99c47c;
      background-image: -webkit-gradient(linear, left top, left bottom, from(#99c47c), to(#75ae4c));
      background-image: -webkit-linear-gradient(top, #99c47c, #75ae4c);
      background-image: -moz-linear-gradient(top, #99c47c, #75ae4c);
      background-image: linear-gradient(to bottom, #99c47c, #75ae4c);
    }

    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover {
      border: 1px solid #447f19;
    }

    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus {
      outline: none;
      border: 1px solid #447f19;
    }

    .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:active {
      background-color: #75ae4c;
      background-image: -webkit-gradient(linear, left top, left bottom, from(#75ae4c), to(#99c47c));
      background-image: -webkit-linear-gradient(top, #75ae4c, #99c47c);
      background-image: -moz-linear-gradient(top, #75ae4c, #99c47c);
      background-image: linear-gradient(to bottom, #75ae4c, #99c47c);
    }
  </style>
  <div class="mktoFormRow">
    <div class="mktoFieldDescriptor mktoFormCol">
      <div class="mktoOffset"></div>
      <div class="mktoFieldWrap mktoRequiredField">
        <div class="mktoGutter mktoHasWidth"></div><input id="Email_17249278335730.44826986358530196" name="Email" placeholder=" " maxlength="255" aria-labelledby="LblEmail InstructEmail" type="email"
          class="mktoField mktoEmailField mktoHasWidth mktoRequired" aria-required="true"><label for="Email_17249278335730.44826986358530196" id="LblEmail" class="mktoLabel mktoHasWidth">
          <div class="mktoAsterix">*</div>Enter your email
        </label><span id="InstructEmail" tabindex="-1" class="mktoInstruction"></span>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow mktoDisclaimer">
    <div class="mktoFormCol">
      <div class="mktoOffset mktoHasWidth"></div>
      <div class="mktoFieldWrap">
        <div class="mktoHtmlText mktoHasWidth">
          <p data-pm-slice="1 1 []">Your privacy is important to us. We may use your information to contact you about our products, services and events. You may opt out at any time
            <u><a href="http://go.appsflyer.com/UnsubscribePage.html" class="ProsemirrorEditor-link">here</a></u>. To learn more about how we handle your information please visit our
            <u><a href="https://www.appsflyer.com/legal/privacy-policy/" class="ProsemirrorEditor-link">Privacy Policy</a></u>.</p>
        </div>
        <div class="mktoClear"></div>
      </div>
      <div class="mktoClear"></div>
    </div>
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="HSUTMSource__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="marketo">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="HSUTMMediu__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="email">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="HSUTMCampaign__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="content_subscribers_eng_08_2024">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="HSUTMContent__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="HSUTMTerm__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="HSUTMReferralWebsite__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="deviceTypeMKTO" class="mktoField mktoFieldDescriptor mktoFormCol" value="desktop">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="formCTA" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="formThankYouPageURL" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="formLandingPageURL" class="mktoField mktoFieldDescriptor mktoFormCol"
      value="https://www.appsflyer.com/blog/measurement-analytics/skan-vs-sandbox/?utm_source=marketo&amp;utm_medium=email&amp;utm_campaign=content_subscribers_eng_08_2024&amp;afc_source=marketo&amp;afc_medium=email&amp;afc_campaign=content_subscribers_eng_08_2024&amp;mkt_tok=MTA4LUFWVC03MzIAAAGVPJzyJyZkR3yTrVIHm062Y7jNnjgZgLkxUq8svxVi4Sy04nyeCl_Nq4Qay7fs0fwwjMJELC9rizYNeNtbtYGp2r3s7xESQg5kFcWGi_lEYCJbsYs">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="itemName" class="mktoField mktoFieldDescriptor mktoFormCol" value="Subscription">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="formType" class="mktoField mktoFieldDescriptor mktoFormCol" value="Subscription">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="HS_InternalRefPlat__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="Google_Id__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="Pricing_Plan__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="Facebook_ID_fclid__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="Google_ID_gclid__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="LinkedIn_ID_li_fat_id__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="Last_AFC_Date__c" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <div class="mktoFormRow d-none"><input type="hidden" name="block_freemails_mkto" class="mktoField mktoFieldDescriptor mktoFormCol" value="">
    <div class="mktoClear"></div>
  </div>
  <script src="https://www.google.com/recaptcha/api.js?onload=captchaCallback" type="text/javascript" async="async" defer="defer"></script>
  <div>
    <script type="text/javascript">
      var formId = 2343;
      var captchaCallback = function(a) {
        var b = document.getElementsByClassName("grecaptcha-badge");
        if (b.length > 0)
          for (var c = 0; c < b.length; c++) b[c].style.visibility = "hidden";
        if (a) {
          var d = this.MktoForms2.getForm(formId);
          d && d.setCaptchaValue(a)
        }
      };
    </script>
  </div>
  <div id="captcha" class="g-recaptcha" data-callback="captchaCallback" data-expired-callback="captchaExpired" data-sitekey="6LfVEhkaAAAAAL2Mv8ARzzPScHRp0_K0JL2MgVnU" data-size="invisible">
    <div class="grecaptcha-badge" data-style="bottomright"
      style="width: 256px; height: 60px; display: block; transition: right 0.3s; position: fixed; bottom: 14px; right: -186px; box-shadow: gray 0px 0px 5px; border-radius: 2px; overflow: hidden; visibility: hidden;">
      <div class="grecaptcha-logo"><iframe title="reCAPTCHA" width="256" height="60" role="presentation" name="a-3iuc5rpb348r" frameborder="0" scrolling="no"
          sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups-to-escape-sandbox allow-storage-access-by-user-activation"
          src="https://www.google.com/recaptcha/api2/anchor?ar=1&amp;k=6LfVEhkaAAAAAL2Mv8ARzzPScHRp0_K0JL2MgVnU&amp;co=aHR0cHM6Ly93d3cuYXBwc2ZseWVyLmNvbTo0NDM.&amp;hl=en&amp;v=i7X0JrnYWy9Y_5EYdoFM79kV&amp;size=invisible&amp;cb=dov2wqw5gbef"></iframe>
      </div>
      <div class="grecaptcha-error"></div><textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response"
        style="width: 250px; height: 40px; border: 1px solid rgb(193, 193, 193); margin: 10px 25px; padding: 0px; resize: none; display: none;"></textarea>
    </div><iframe style="display: none;"></iframe>
  </div>
  <div class="mktoCaptchaDisclaimer">This site is protected by reCAPTCHA and the Google <a href="https://policies.google.com/privacy" target="_blank">Privacy Policy</a> and
    <a href="https://policies.google.com/terms" target="_blank">Terms of Service</a> apply.</div>
  <div class="mktoButtonRow"><span class="mktoButtonWrap mktoSimple"><button type="submit" class="mktoButton btn btn-primary btn-primary--blue" data-aft="form-submit" data-aft-block="marketo-form" id="btn_mktoForm_2343">Subscribe</button></span>
  </div><input type="hidden" name="formid" class="mktoField mktoFieldDescriptor" value="2343"><input type="hidden" name="munchkinId" class="mktoField mktoFieldDescriptor" value="108-AVT-732">
</form>

<form class="mktoForm mktoForm--newsletter-subscription w-100 mktoHasWidth mktoLayoutLeft" data-client-id="108-AVT-732" data-form-id="2343" data-form-type="subscription-modal-form" data-form-cta="Subscribe"
  data-current-url="https://www.appsflyer.com/blog/measurement-analytics/skan-vs-sandbox/" data-item-name="Subscription" data-action="message" data-redirect-url="" data-thank-you-title="Thanks!" novalidate="novalidate"
  style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); visibility: hidden; position: absolute; top: -500px; left: -1000px; width: 1600px;"></form>

Text Content

 * Platform
   Measure
    * Measurement suite Measure every action on mobile, web and CTV
    * ROI measurement Understand your true mobile marketing ROI
    * Creative Optimization Unlock creative performance with the power of AI
   
   Analyze
    * Marketing analytics Turn insights on campaign performance into action
    * Incrementality Prove the real value of your marketing campaigns
   
   Engage
    * CX & deep linking Boost revenue with exceptional customer experience
    * Audience segmentation Create meaningful conversations with your customers
   
   Protect
    * Fraud protection Protect your marketing budget from mobile ad fraud
   
   Collaborate
    * Privacy Cloud Collaborate with your partners in a privacy-centric way
    * AppsFlyer Data Collaboration Platform First-party data monetization that
      fuels retail media growth
    * Partner marketplace Connect to over 10,000 tech and media partners
   
    * Interactive product tours
    * iOS 14+ solutions
    * Data feeds & APIs

 * Solutions
   Team
    * Marketing
    * Product
    * Data & Analytics
    * R&D
   
   Goal
    * Regain iOS visibility
    * Kickstart app growth
    * Scale user acquisition
    * Increase engagement & LTV
    * Maximize ROAS
   
   Industry
    * Gaming
    * Shopping
    * Finance
    * Food & drink
    * Health & fitness
    * Travel
   
   Platform
    * iOS
    * Android
    * PC & console
    * CTV & OTT
    * Web
    * Mobile
    * Web3
   
   Partnerships
    * Tech and media partners
    * Agency partners
    * Partner Program
   
    * Customer stories
    * The AppsFlyer difference

 * Learn
   Resources
   
   Stay informed with industry insights, the latest trends, original content,
   and all things AppsFlyer
   
   Ecosystem
    * Blog
    * Reports & guides
    * Events & webinars
    * Tools & templates
    * Industry benchmarks
    * Videos
    * Podcasts
    * Glossary
    * Metrics comparison
   
   Customers
    * Customer stories
    * Product news
    * Use cases
    * Help center
    * Developer Hub
    * Learning portal
   
   New data on AI-driven creative
 * Company
   Who we are
   
   Find out more about our history, our team, what we stand for, and why we do
   what we do
   
    * About us
    * Newsroom
    * CEO blog spot
    * Trust hub
   
    * Careers
    * Social impact
    * Contact
   
   From our CEO
   The future of our ecosystem and web On privacy and user experience Aggregated
   advanced privacy
 * Pricing

 * English
   * Français
   * 日本語
   * Русский
   * Español
   * 简体中文
   * 한국어
   * Deutsch
   * Portuguese
   * Tiếng Việt

 * Login
 * Sign up free
 * Contact sales

 * Platform
   Measure
    * Measurement suite Measure every action on mobile, web and CTV
    * ROI measurement Understand your true mobile marketing ROI
    * Creative Optimization Unlock creative performance with the power of AI
   
   Analyze
    * Marketing analytics Turn insights on campaign performance into action
    * Incrementality Prove the real value of your marketing campaigns
   
   Engage
    * CX & deep linking Boost revenue with exceptional customer experience
    * Audience segmentation Create meaningful conversations with your customers
   
   Protect
    * Fraud protection Protect your marketing budget from mobile ad fraud
   
   Collaborate
    * Privacy Cloud Collaborate with your partners in a privacy-centric way
    * AppsFlyer Data Collaboration Platform First-party data monetization that
      fuels retail media growth
    * Partner marketplace Connect to over 10,000 tech and media partners
   
    * Interactive product tours
    * iOS 14+ solutions
    * Data feeds & APIs

 * Solutions
   Team
    * Marketing
    * Product
    * Data & Analytics
    * R&D
   
   Goal
    * Regain iOS visibility
    * Kickstart app growth
    * Scale user acquisition
    * Increase engagement & LTV
    * Maximize ROAS
   
   Industry
    * Gaming
    * Shopping
    * Finance
    * Food & drink
    * Health & fitness
    * Travel
   
   Platform
    * iOS
    * Android
    * PC & console
    * CTV & OTT
    * Web
    * Mobile
    * Web3
   
   Partnerships
    * Tech and media partners
    * Agency partners
    * Partner Program
   
    * Customer stories
    * The AppsFlyer difference

 * Learn
   Resources
   
   Stay informed with industry insights, the latest trends, original content,
   and all things AppsFlyer
   
   Ecosystem
    * Blog
    * Reports & guides
    * Events & webinars
    * Tools & templates
    * Industry benchmarks
    * Videos
    * Podcasts
    * Glossary
    * Metrics comparison
   
   Customers
    * Customer stories
    * Product news
    * Use cases
    * Help center
    * Developer Hub
    * Learning portal
   
   New data on AI-driven creative
 * Company
   Who we are
   
   Find out more about our history, our team, what we stand for, and why we do
   what we do
   
    * About us
    * Newsroom
    * CEO blog spot
    * Trust hub
   
    * Careers
    * Social impact
    * Contact
   
   From our CEO
   The future of our ecosystem and web On privacy and user experience Aggregated
   advanced privacy
 * Pricing

 * English
   * Français
   * 日本語
   * Русский
   * Español
   * 简体中文
   * 한국어
   * Deutsch
   * Portuguese
   * Tiếng Việt

 * Login
 * Sign up free
 * Contact sales

Blog
 * Measurement & analytics
 * Mobile marketing
 * Mobile fraud
 * Trends & insights
 * Tips & strategy
 * Deep linking

 * Subscribe

 * 
 * Subscribe

 * 
 * Categories


this field can not be empty

Try searching for

 * Deep linking
 * App marketing
 * SKAdNetwork
 * Attribution
 * LTV
 * Mobile fraud
 * iOS 14

Close
Subscribe for expert commentary and unique stories on the mobile ecosystem and
beyond
*
Enter your email




Your privacy is important to us. We may use your information to contact you
about our products, services and events. You may opt out at any time here. To
learn more about how we handle your information please visit our Privacy Policy.


























This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of
Service apply.
Subscribe


THANKS!

Continue reading
 * Blog
 * Measurement & analytics


SKAN VS. SANDBOX: WHAT ADVERTISERS NEED TO KNOW

By Gil Bouhnick

 * Aug 07, 2024
 * 6 min read

WHAT'S INSIDE?

 1.  Before we begin
 2.  Scope and approach
 3.  Elimination of device IDs
 4.  Data aggregation
 5.  Reporting
 6.  Random delays
 7.  Privacy thresholds
 8.  Bit-based attribution
 9.  Data granularity
 10. Technical complexity
 11. Presenting the full picture
 12. Summary

The app marketing world is still adjusting to the evolving privacy changes on
iOS, and we are now on the verge of another round of disruptions with Privacy
Sandbox on Android and the new opportunities that it introduces.

It’s only natural to stack iOS and Android against each other, so we decided to
examine the similarities and differences between SKAN (soon to be revamped as
AdAttributionKit) and Privacy Sandbox. Don’t worry though, we’ll (try to) keep
things simple.


BEFORE WE BEGIN

Google’s Privacy Sandbox is a broad initiative. It’s a suite of marketing
infrastructure tools, covering targeting, retargeting, SDKs, and of course
attribution.

Since SKAN focuses mostly on attribution, and for the sake of comparing apples
to apples (See what I just did there?), we will focus on comparing SKAN to
Sandbox’s Attribution Reporting API.


SCOPE AND APPROACH

Doing it the “Apple way”, SKAN is often perceived as a “black box”, naturally
specific to iOS only.

With Privacy Sandbox, Google has taken a more collaborative approach and is
gradually introducing the different modules for both web (starting with Chrome)
and Android, allowing industry leaders such as AppsFlyer to iterate, build
innovative solutions using the Sandbox building blocks, provide ongoing
feedback, and actively influence the core principles. This approach comes with a
cost, as Google often has to reverse decisions – as it did with the recent web
cookies deprecation announcement.


ELIMINATION OF DEVICE IDS

The primary principle for maintaining user privacy is to obscure persistent user
identifiers such as IDFAs or GAIDs, and both SKAN and Privacy Sandbox are
designed to minimize the use of identifiers.

Notably, Apple’s ATT framework requires user consent to access IDFA, while
Google hasn’t announced any plans to use an ATT-style opt-in mechanism.

We’re being asked a lot about the future of GAID (Google Advertising ID) and
whether it’s planned to be placed behind an opt-in wall like web cookies are.
There’s no formal answer on this one yet. However, bear in mind that none of the
Privacy Sandbox APIs use GAID, which can provide a good indication of future
direction.


DATA AGGREGATION

Both SKAN and Privacy Sandbox use data aggregation, grouping user data into
anonymized cohorts to prevent individual profiling. This is a big deal for
advertisers, but it’s an even bigger deal for ad networks and publishers that
will no longer be able to track users and will have to find new creative ways to
optimize their ad performance.

You can expect lots of  innovation in this area in the coming months and years.


REPORTING

SKAN 4 and AdAttributionKit provide three postbacks and dictate aligning to
pre-defined time windows of 2, 7 and 35 days. Kind of like a full-service
restaurant that serves meals on specific hours only.

In contrast, the Sandbox Attribution API is like a 30-day buffet. You cannot get
wild and eat all that you want due to some “budget” limitations (more on that
later), but you’re not tied to strict time windows. When the month ends, it’s
time to put the forks down!

While Sandbox’s flexible reporting windows are great news for advertisers, the
30-day limitation might disappoint some marketing managers looking for longer
revenue metrics.


RANDOM DELAYS

With privacy-first attribution, data is never received in real-time in order to
prevent the option to correlate report data with specific individuals. This
forces advertisers to make longer experiments and leads to slower
decision-making and reduced agility.

SKAN postbacks arrive with significant delays: 24-48 hours delay for the first
postback and 24-144 hours for the 2nd and 3rd postbacks.

Privacy Sandbox incorporates two delay mechanisms to enhance privacy:

Event-level reports (designed for campaign optimization) are delayed by at least
1 day following an ad click and 1-30 days after an ad view—Talk about being late
for the party!

Conversely, aggregatable reports (designed for analyzing campaign performance),
are available within hours — certainly  a relief for advertisers.


PRIVACY THRESHOLDS

There’s a joke about a fan telling a little-known artist, “I bought your album!”
and the artist responds, “Oh, it was you!”

This kind of sums up the challenge with privacy-focused ad measurement. When the
numbers are small, pinpointing individuals becomes too easy, which isn’t great
for privacy.

Both SKAN and Privacy Sandbox address that issue using privacy thresholds, but
the implementation is different.

In low volumes, SKAN simply doesn’t give you information on post-install
activity (as well as campaign information). That’s the main reason why we at
AppsFlyer developed a null modeling solution for SKAN to compensate for that
signal loss. Privacy Sandbox uses the notion of “noise”. It adds fake data to
mask the real numbers. The noise can be significantly deceiving when data
volumes are low, but as volume grows the relative noise size reduces and becomes
negligible.

Tip: For both SKAN and Sandbox, low data volumes can pose challenges for
advertisers. It’s best to allocate adequate budgets to each media source and
avoid splitting campaigns excessively. This strategy ensures data volumes are
sufficient to bypass privacy thresholds, providing more reliable reports. The
more focused your budget, the more reliable your data.


BIT-BASED ATTRIBUTION

Both SKAN and Sandbox use “bits” to represent conversion or campaign data.
Values represented by bits are more challenging to use but they ensure data is
controlled, standardized, and more importantly: no direct identifiable
information (like names, IDs, or even specific actions) is transmitted.

SKAN uses postbacks to share conversion data with advertisers and ad networks.
Privacy Sandbox provides APIs available for ad tech companies to access the
attribution reports.

To help you get the most out of those bits, MMPs like AppsFlyer offer
standardized methods for converting and interpreting bits into human-friendly
metrics and actionable insights.


DATA GRANULARITY

SKAN allocates 2-4 digits for source identifiers (depending on the number of
installs) and permits only six bits for post-install conversion data (equivalent
to 64 possible conversion values). This significantly limits the granularity
with which marketers can analyze campaign performance and post-install
activities.

In contrast, Privacy Sandbox offers 128 bits for the campaign sources and
post-install events. I’ll save you the calculations and the weird numbers but
trust me, you’ll get over a billion times more data with Sandbox than you do
with SKAN.

Keep in mind, though, that in the Privacy Sandbox each source event, like an ad
click, has a maximum number of ‘values’ it can use, known as the contribution
budget. Sandbox limits you to certain contribution budgets and adds random
noise. This means that even though the data can be pretty granular, you’ll need
to plan your budgets carefully and prioritize upfront.



TECHNICAL COMPLEXITY

SKAN is like a black box managed by Apple, delivering just the essentials like
winning campaigns and conversion counts.

In contrast, Privacy Sandbox is designed as a set of building blocks—enabling
industry players like AppsFlyer to build their own solutions on top of it. These
solutions must comply with strict cloud infrastructure guidelines to maintain
privacy.

In addition, Sandbox offers a cross-network last-click attribution through the
presence of a neutral player such as an MMP. That means AppsFlyer and other MMPs
will have a significant role in the Sandbox attribution data flow providing
insights on cross-network last-click attribution.

This key difference makes the Sandbox a more complex technology but also opens
up opportunities for innovation and disruption in the industry.


PRESENTING THE FULL PICTURE

Both SKAN and Privacy Sandbox are tailored to their respective operating systems
(iOS and Android), making it hard for advertisers to see the full picture.

Add the fact that some ad networks haven’t fully adopted SKAN yet (which also
doesn’t support Apple Search Ads), along with the fact that Privacy Sandbox is
just getting started, and you’re left with a reality split across several
‘buckets of truth’—far from ideal for analyzing global campaign performance and
make informed decisions.

In such a fragmented landscape, having a single source of truth is crucial.
AppsFlyer continues to bridge this gap with its pioneering Single Source of
Truth (SSOT), which consolidates all campaign data across media sources and
platforms into one centralized view.


SUMMARY

In a privacy-first era, advertisers need to adapt to a new reality in which
personal information is never revealed, measurement is aggregated and anonymous,
the reporting intervals are long, and data is delayed and obscured.

While SKAN keeps attribution simple but very limited, Privacy Sandbox offers a
much wider range of capabilities and data granularity, but requires a much
heavier technological effort and the creation of complementary solutions.

AppsFlyer is already developing its next-generation products that will support
Privacy Sandbox, enabling advertisers to seamlessly adopt these new
technologies, protect user privacy, and enhance their marketing strategies.

iOS 14 Mobile attribution SKAdNetwork User acquisition


GIL BOUHNICK

Gil Bouhnick is the Product Director leading privacy-preserving attribution at
AppsFlyer. With over 20 years of experience as a seasoned product entrepreneur,
he has led the development of successful B2B and B2C products for both large
global companies and early-stage startups.

FOLLOW GIL BOUHNICK

 * 


SHARE THIS ARTICLE

 * 
 * 
 * 
 * 




READ THIS NEXT

7 min read
How to overcome signal loss by building a new data reality
8 min read
Cross-channel marketing in 2024: Perfecting the channel mix formula
3 min read
Introducing new horizons in app marketing: beyond app campaigns
8 min read
Putting privacy first with AppsFlyer and Snap’s Advanced SRN measurement
solution


MORE LIKE THIS

3 min read
WWDC24 and AdAttributionKit: Keep calm and SKAN on 
5 min read
Why unbiased measurement in 2024 is key in the age of privacy, AI, and 1st party
data
5 min read
Unlocking complete measurement on iOS: TikTok and AppsFlyer's Advanced SRN
integration
5 min read
SSOT: A one-stop shop for bridging iOS data gaps


TRENDING

10 min read
Unlocking ROI: The power of collaboration in creative optimization
10 min read
Data collaboration: The privacy-compliant key to understanding your audience and
making data-based decisions
8 min read
What is creative fatigue and how do you combat it?
10 min read
A comprehensive guide to dynamic creative optimization in 2024
Ready to start making good choices?
Contact sales Sign up free


PLATFORM

 * Measurement suite
 * ROI Measurement
 * Marketing analytics
 * Incrementality
 * CX & deep linking
 * Audience segmentation
 * Fraud protection
 * Raw data & APIs
 * Partner marketplace
 * AppsFlyer for iOS
 * Privacy Cloud
 * Pricing


SOLUTIONS

 * Gaming
 * Shopping
 * Food & drink
 * Entertainment & music
 * Finance
 * Health & fitness
 * Travel
 * Zero budget marketing
 * AWS
 * Integrated partners
 * Tech and media partners
 * Agency partners
 * Partner Program


WHY APPSFLYER

 * Customers success stories
 * The AppsFlyer difference
 * Trust hub
 * Security


LEARN

 * Blog
 * Videos
 * Podcast
 * Reports & guides
 * Webinars on-demand
 * Glossary
 * Product news
 * Use cases
 * Metrics comparison
 * Industry benchmarks
 * Help center
 * Sitemap


COMPANY

 * About
 * Newsroom
 * Press releases
 * Media coverage
 * CEO blog spot
 * Careers
 * Social impact
 * Contact

 * 
 * 
 * 
 * 
 * 
 * 

 * Terms
 * Privacy policy

©2024 AppsFlyer Ltd. All rights reserved.

AppsFlyer respects your privacy and values the relationship we have with you as
our website user. We use cookies to improve your user experience, website
functionality and remarketing purposes. Some of this data may be shared with our
selected partners. For more information please see ourcookie policy. Manage your
cookie preferences:Choose selection.
Reject all cookies Accept all cookies



COOKIE PREFERENCE CENTER

AppsFlyer uses Cookies to provide, maintain, and improve our websites, to
optimize our offerings and marketing activities, and to provide our visitors and
users with a better experience, for example, in order to maintain your
preferences, to better secure our websites, to identify technical issues, and to
monitor and improve the overall performance of our websites.
More information
Allow All


PLEASE SELECT WHICH COOKIES YOU APPROVE, YOU MAY CHOOSE ALL OPTIONS

STRICTLY NECESSARY COOKIES

Always Active

Necessary Cookies are enabled for the assurance and function of a properly run
website, and they cannot be disabled. They are usually only set in response to
actions permitted by you, such as, enabling functions like navigation and access
to secure areas of the website. These Cookies do not store personal information
that will be used for other purposes.

PERFORMANCE COOKIES

Performance Cookies

These Cookies provide us with aggregated (anonymous) insights into website
enhancement and performance improvement. These cookies allow us to measure and
improve the performance of our Sites. They help us know which pages are the most
and least popular and see how visitors move around the website.

FUNCTIONAL COOKIES

Functional Cookies

These Cookies enable us to provide enhanced functionality and personalization
through our Sites and allow for a better user experience. These may be set by us
(first-party Cookies) or by third-party providers who work with us (third-party
Cookies).

MARKETING COOKIES

Marketing Cookies

These cookies may be set through our site by our advertising partners. They may
be used by those companies to build a profile of your interests and show you
relevant adverts on other sites. They do not store directly personal
information, but are based on uniquely identifying your browser and internet
device. If you do not allow these cookies, you will experience less targeted
advertising.

Back Button


COOKIE LIST



Search Icon
Filter Icon

Clear
checkbox label label
Apply Cancel
Consent Leg.Interest
checkbox label label
checkbox label label
checkbox label label

Reject All Confirm My Choices