<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Gregory Klein</title>
    <description>The latest articles on DEV Community by Gregory Klein (@gklei).</description>
    <link>https://dev.to/gklei</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F467411%2F001093ca-14bd-4684-b7dc-4879368753f1.jpeg</url>
      <title>DEV Community: Gregory Klein</title>
      <link>https://dev.to/gklei</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/gklei"/>
    <language>en</language>
    <item>
      <title>What App Tracking Transparency (ATT) Means for Mobile Marketing Attribution</title>
      <dc:creator>Gregory Klein</dc:creator>
      <pubDate>Thu, 24 Sep 2020 13:06:57 +0000</pubDate>
      <link>https://dev.to/gklei/what-apptrackingtransparency-means-for-mobile-marketing-attribution-2ph</link>
      <guid>https://dev.to/gklei/what-apptrackingtransparency-means-for-mobile-marketing-attribution-2ph</guid>
      <description>&lt;p&gt;&lt;em&gt;This is the third of a series of posts regarding mobile marketing industry changes presented by iOS 14. Read the first article about the SKAdNetwork framework &lt;a href="https://hello.xyla.io/blog/article/453393/understanding-the-skadnetwork-framework-1ak6"&gt;here&lt;/a&gt;. Read the second article about tracking conversions in SKAdNetwork &lt;a href="https://hello.xyla.io/blog/article/459701/postbacks-and-conversion-tracking-with-skadnetwork-3oid"&gt;here.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In my previous articles, I've talked about SKAdNetwork: what it is, how it is structured, and what data it provides. Now, I want to talk about the reason SKAdNetwork data is going to replace the IDFA: AppTrackingTransparency, the explicit opt-in to tracking that Apple will be implementing for all apps in 2021. To understand AppTrackingTransparency, it's important to first understand ad tracking in current iOS devices. &lt;/p&gt;

&lt;h2&gt;
  
  
  Limit Ad Tracking (LAT)
&lt;/h2&gt;

&lt;p&gt;Currently, the IDFA can be deactivated by visiting the Settings app and going to &lt;em&gt;Privacy &amp;gt; Advertising&lt;/em&gt; to enable the "Limit Ad Tracking" (LAT) switch. Note the auxiliary label that appears underneath it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Opt out of receiving ads targeted to your interests. You may still receive the same number of ads, but the ads may be less relevant to you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K2I5gsy1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://incipia.co/wp-content/uploads/2020/07/IMG_8399.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K2I5gsy1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://incipia.co/wp-content/uploads/2020/07/IMG_8399.png" alt="LAT iPhone Settings"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When a user chooses to turn on LAT, it masks their identifier for advertisers (IDFA), rendering them anonymous to mobile marketers. &lt;a href="https://www.singular.net/blog/limit-ad-tracking-privacy-checkup-in-2020/https://www.singular.net/blog/limit-ad-tracking-privacy-checkup-in-2020/"&gt;~15.6% of iOS users had LAT turned on globally this year.&lt;/a&gt; The low adoption rate is likely influenced by it's buried location in the settings app, and even potentially due to the unbiased message provided by Apple. Since the majority of users don't activate LAT, the effects on the IDFA are still relatively minor; this, however, will all change with iOS 14.&lt;/p&gt;

&lt;h2&gt;
  
  
  LAT in iOS 14
&lt;/h2&gt;

&lt;p&gt;Starting early 2021, Limit Ad Tracking will be on by default for all apps. There are several key differences in the behavior of LAT that come with this update:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Instead of LAT being applied across all apps, it can now be turned on/off at the individual app level&lt;/li&gt;
&lt;li&gt;To turn LAT off, app developers must present a new dialogue to the user asking them for IDFA access. This is using the &lt;code&gt;requestTrackingAuthorization(completionHandler:)&lt;/code&gt; method&lt;/li&gt;
&lt;li&gt;If a user chooses to keep LAT turned on, then the only data the advertiser can access from them is provided by &lt;code&gt;SKAdNetwork&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is an example of the dialogue that app developers need to make for users if they want to gain access to their data:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--dc0FlJJ0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://incipia.co/wp-content/uploads/2020/07/pasted-image-0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--dc0FlJJ0--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://incipia.co/wp-content/uploads/2020/07/pasted-image-0.png" alt="AppTrackingTransparency Dialog in iOS 14"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This dialog can only be presented once per app install. If the user does not allow tracking, there is no opportunity to present this again in the future for that app (unless the user deletes the app and reinstalls). After being presented with and denying access via this dialog, the only case where a user's IDFA could be made available again is through them manually turning off LAT for that app in the iPhone Settings.&lt;/p&gt;

&lt;p&gt;The only customizable part of the dialog shown above is the secondary label that reads: "&lt;em&gt;Your data will be used to deliver personalized ads to you.&lt;/em&gt;" Developers can customize this part of the dialog by using the  &lt;code&gt;NSUserTrackingUsageDescription&lt;/code&gt; (documentation found &lt;a href="https://developer.apple.com/documentation/bundleresources/information_property_list/nsusertrackingusagedescription"&gt;here&lt;/a&gt;) to replace the default text with a message that informs the user why their app is requesting permission to use data for tracking the user or the device.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;With LAT now on by default, the future of the IDFA depends on the percentage of users who choose to opt in. &lt;a href="https://mobiledevmemo.com/mobile-advertising-without-the-idfa-a-comprehensive-overview/"&gt;Some predict that only 10-20% of users will choose this option&lt;/a&gt;, with the remaining 80-90% opting to keep LAT turned on for their apps. Many apps also may choose not to provide this prompt to users at all, sacrificing IDFA access to preserve the user experience. Even advertisers whose apps choose to use AppTrackingTransparency must prepare to only receive a fraction of they data they can currently access.&lt;/p&gt;

&lt;p&gt;Regardless of which route apps choose to follow, the current IDFA-dependent marketing and reporting strategies will need to change. Luckily, Xyla reporting has solutions for clients with or without MMPs, so you can get the performance data you need regardless of IDFA access. To learn more about Xyla offerings, &lt;a href="https://hello.xyla.io"&gt;click here.&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ios14</category>
      <category>idfa</category>
      <category>apptrackingtransparency</category>
      <category>skadnetwork</category>
    </item>
    <item>
      <title>Postbacks and Conversion Tracking with SKAdNetwork</title>
      <dc:creator>Gregory Klein</dc:creator>
      <pubDate>Fri, 18 Sep 2020 14:24:02 +0000</pubDate>
      <link>https://dev.to/gklei/postbacks-and-conversion-tracking-with-skadnetwork-3oid</link>
      <guid>https://dev.to/gklei/postbacks-and-conversion-tracking-with-skadnetwork-3oid</guid>
      <description>&lt;p&gt;&lt;em&gt;This is the second of a series of posts regarding mobile marketing industry changes presented by iOS 14. Read the first article about the SKAdNetwork framework &lt;a href="https://hello.xyla.io/blog/article/453393/understanding-the-skadnetwork-framework-1ak6"&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In my last article I went into detail about the structure of the &lt;code&gt;SKAdNetwork&lt;/code&gt; framework. Today I'll continue by explaining how postbacks and conversion tracking work with this new framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tracking Conversions with SKAdNetwork
&lt;/h2&gt;

&lt;p&gt;This diagram explains how &lt;code&gt;SKAdNetwork&lt;/code&gt; handles tracking conversions:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Sb7Euow7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--jxcHrp8d--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://incipia.co/wp-content/uploads/2020/07/sequence_of_events.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Sb7Euow7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--jxcHrp8d--/c_limit%252Cf_auto%252Cfl_progressive%252Cq_auto%252Cw_880/https://incipia.co/wp-content/uploads/2020/07/sequence_of_events.jpg" alt="Diagram showing the sequence of events from start to finish of the SKAdNetwork framework being used to post a callback of an install that came from an ad"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The initial user journey is the same: ads are served by ad networks to users, who click to install an app. The real changes begin when the user actually converts. There are two ways to send conversion postbacks via the &lt;code&gt;SKAdNetwork&lt;/code&gt; API:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;code&gt;registerAppForAdNetworkAttribution()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;updateConversionValue(_:)&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The first method is recommended for when the user first launches the app. Once the app is launched, an activity window of 24 hours begins and the second method can be used to monitor user activity. &lt;code&gt;SKAdNetwork&lt;/code&gt; allows you to attach events to 6-bit integers (numbered 1-64). When these events are triggered by the user, the integer is passed to the second method and the activity window restarts. This continues until 24 hours pass without the user triggering an event with a 6-bit integer value greater than before.&lt;/p&gt;

&lt;h3&gt;
  
  
  Example: SKN Games
&lt;/h3&gt;

&lt;p&gt;Take a hypothetical gaming app, &lt;em&gt;SKN Games&lt;/em&gt;, as an example. In this app, each level is mapped to a 6-bit integer value in &lt;code&gt;SKAdNetwork&lt;/code&gt; (level #1 has a value of 1, level #2 has a value of 2, etc.). Whenever a user completes a level (through level 64) it triggers a conversion event. The conversion window would work something like this:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;A user installs the SKN Games app, &lt;code&gt;registerAppForAdNetworkAttribution()&lt;/code&gt; is called, and the 24-hour activity window begins.&lt;/li&gt;
&lt;li&gt;The user clears level #1 within 24 hours, and &lt;code&gt;updateConversionValue(_:)&lt;/code&gt; is called with a value of &lt;code&gt;1&lt;/code&gt;. The 24-hour activity window restarts.&lt;/li&gt;
&lt;li&gt;The user continues clearing subsequent levels. As long as each level is cleared within 24 hours of the last, &lt;code&gt;updateConversionValue(_:)&lt;/code&gt; will be called with a value that corresponds to the last level completed.&lt;/li&gt;
&lt;li&gt;The user either does not clear a higher level within 24 hours, or reaches level 65 (64 is the highest possible 6-bit integer value). The activity window ends and a second timer begins with a random value between 0-24 hours. User activity is no longer being tracked.&lt;/li&gt;
&lt;li&gt;The second timer elapses, and a postback is sent with all the information the user generated within the activity window.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Receiving the Postback
&lt;/h3&gt;

&lt;p&gt;The postback received by the ad network will take the following JSON form:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"version"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"2.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"ad-network-id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"com.example"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"campaign-id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"transaction-id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"6aafb7a5-0170-41b5-bbe4-fe71dedf1e28"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"app-id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;525463029&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"attribution-signature"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"MDYCGQCsQ4y8d4BlYU9b8Qb9BPWPi+ixk&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;/OiRysCGQDZZ8fpJnuqs9my8iSQVbJO&lt;/span&gt;&lt;span class="se"&gt;\\&lt;/span&gt;&lt;span class="s2"&gt;/oU1AXUROYU="&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"redownload"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"source-app-id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;1234567891&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"conversion-value"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;This shows that for each converted user, the ad networks will only receive:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The campaign ID associated with the user (NOT the adset or ad)&lt;/li&gt;
&lt;li&gt;Whether the user was a redownload or new download&lt;/li&gt;
&lt;li&gt;The highest conversion value that the user triggered within the activity window, up to 64&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;This new information is fundamentally different from the view-thru attributed data mobile marketers currently have access to. With no IDFA, aspects of campaign structure will need to change to make use of this new information. &lt;/p&gt;

&lt;p&gt;But why is the IDFA no longer usable? To understand that, it's important to learn about &lt;code&gt;AppTrackingTransparency&lt;/code&gt;, which I will explain in more detail in my next post.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;To learn more about Xyla's reporting capabilities under iOS 14, &lt;a href="https://hello.xyla.io/get-started"&gt;reach out to us&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>skadnetwork</category>
      <category>ios14</category>
      <category>apple</category>
      <category>apptrackingtransparency</category>
    </item>
    <item>
      <title>Understanding the SKAdNetwork Framework</title>
      <dc:creator>Gregory Klein</dc:creator>
      <pubDate>Fri, 11 Sep 2020 13:27:51 +0000</pubDate>
      <link>https://dev.to/gklei/understanding-the-skadnetwork-framework-1ak6</link>
      <guid>https://dev.to/gklei/understanding-the-skadnetwork-framework-1ak6</guid>
      <description>&lt;p&gt;&lt;em&gt;This is the first of a series of posts regarding mobile marketing industry changes presented by iOS 14.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;One of the most significant updates from WWDC this year regarding iOS 14 was the emphasis of &lt;a href="https://developer.apple.com/documentation/storekit/skadnetwork"&gt;SKAdNetwork&lt;/a&gt; and &lt;a href="https://developer.apple.com/documentation/apptrackingtransparency"&gt;AppTrackingTransparency&lt;/a&gt; . These changes are set to completely change how mobile marketing and performance are measured. In this blog series, I'll be diving into the specifics of analyzing performance of marketing campaigns under iOS 14. I'll go through &lt;code&gt;SKAdNetwork&lt;/code&gt; as a framework, receiving postbacks and tracking conversions, and &lt;code&gt;AppTrackingTransparency&lt;/code&gt; specifics. Hopefully this series helps you prepare for iOS 14 when these new privacy features arrive early next year.&lt;/p&gt;

&lt;p&gt;Let's begin by discussing the &lt;code&gt;SKAdNetwork&lt;/code&gt; Framework.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;SKAdNetwork&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The purpose of &lt;code&gt;SKAdNetwork&lt;/code&gt;, according to Apple, is "&lt;em&gt;helping advertisers measure the success of ad campaigns while maintaining user privacy&lt;/em&gt;". The framework was introduced along with iOS 11.3 in 2018. With iOS 14, &lt;code&gt;SKAdNetwork&lt;/code&gt; will gain the ability to track conversion events. &lt;/p&gt;

&lt;p&gt;There are three main components in this framework:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ad networks:&lt;/strong&gt; sign ads and receive install validation postbacks when ads produce conversions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Source apps:&lt;/strong&gt; display ads provided by the ad networks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Advertised apps:&lt;/strong&gt; appear in signed ads&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Ad Networks&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Ad networks register themselves with Apple so they can receive install validation postbacks via the &lt;code&gt;SKAdNetwork&lt;/code&gt; API. Registering an ad network can by done visiting the &lt;a href="https://developer.apple.com/contact/request/ad-network-id/"&gt;Ad Network ID Request Form&lt;/a&gt; and will result in the registered network obtaining a network ID.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Source Apps&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Developers need to add the ad network ID to their app's &lt;code&gt;Info.plist&lt;/code&gt; file if they want to display ads from an ad network.&lt;/p&gt;

&lt;p&gt;Displaying an advertised product happens by calling the  &lt;a href="https://developer.apple.com/documentation/storekit/skstoreproductviewcontroller/1620632-loadproduct"&gt;loadProduct(withParamters:completionBlock:)&lt;/a&gt; method. The method requires a signature key that the ad network generates, known as the &lt;a href="https://developer.apple.com/documentation/storekit/skstoreproductparameteradnetworkattributionsignature"&gt;SKStoreProductParameterAdNetworkAttributionSignature&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Ad networks use &lt;a href="https://developer.apple.com/documentation/storekit/skadnetwork/ad_network_install_validation_keys"&gt;install validation keys&lt;/a&gt; when calling the product view controller's method for loading a product. The keys describe an impression of an ad campaign; the information they contain associates an app installation with an ad campaign. According to what we know, &lt;code&gt;SKAdNetwork&lt;/code&gt; can be used to track campaigns and ad groups. However, each network can only track 100 unique entities at a time.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Advertised Apps&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The two main responsibilities of the advertised app are to call the &lt;a href="https://developer.apple.com/documentation/storekit/skadnetwork/2943654-registerappforadnetworkattributi"&gt;registerAppForAdNetworkAttribution()&lt;/a&gt; method when the app first launches, and to optionally call the &lt;a href="https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue"&gt;updateConversionValue(_:)&lt;/a&gt; method. The latter method may be called more than once during a period of time according to specific timer logic described later in this post. Both methods are provided by the &lt;code&gt;StoreKit&lt;/code&gt; framework, and they are both capable of generating an install notification. However, the &lt;code&gt;registerAppForAdNetworkAttribution()&lt;/code&gt; method postback does not contain any conversion-related data.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusion&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Ad Networks, Source Apps, and Advertised Apps are the main components that make up the &lt;code&gt;SKAdNetwork&lt;/code&gt; framework. In my next article, I'll delve deeper into receiving postbacks in this new framework, as well as tracking conversions and campaigns in &lt;code&gt;SKAdNetwork&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you are looking for a new reporting solution to prepare for iOS 14, &lt;a href="https://hello.xyla.io/get-started"&gt;reach out to us&lt;/a&gt; and see if Xyla's automation and analytics software is right for you. If you are looking for an iOS 14 consultant for your mobile marketing team, contact our sister company &lt;a href="https://incipia.co"&gt;Incipia&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
