Sunday, July 29, 2018

Adobe Analytics and Audience Manager Data Sharing Scenarios

Recently, I wrote a post about Audience Library which was about data/segment sharing within the Experience Cloud. A similar question came up while working with a client and colleague around the type of data that can be shared between Audience Manager to Analytics and vice versa. That gave me an idea to write about it and share my insights on what kinds of use cases can be met by sharing data between these solutions.

I'm going to cover three different scenarios in which data can be shared between Analytics and Audience Manager and the use cases that go along with it and will be using the Hedge Trimmer garden tool as an example. So, let's get started!

Analytics to Audience Manager (Batch)

This is the easiest way to share segments from Analytics to Audience Manager as this integration is available for any customer subscribed to People Core services. We do that by clicking on the checkbox as shown below but there is a cap of 20 segments that can be shared by this method. To share Analytics segments with AAM and the Experience Cloud, click on the checkbox as shown in the screenshot below and it takes about 24-48 hours for it to show up in AAM. The other thing to note is that you don't require a technical integration between Analytics and AAM as this method automatically shares segments but I highly recommend setting up the integration using either of these methods.

Below are some analysis use cases that can be satisfied using this method of sharing.

  • Complicated Segments that Cannot be Easily Created in Audience Manager: A very common scenario I've seen with clients is to share any Analytics segment by default that they can easily create in AAM such as traffic to a particular page. However, it makes more sense to ONLY share segments that cannot be easily created in Audience Manager. An example is Revenue which is not readily available as a metric in AAM but it is available in Analytics. In the example below, we've created a segment that is tied to users who spent $30 or more on Hedge Trimmers and shared it with AAM by clicking the checkbox. 

  • Technical Analytics->AAM integration is Not Set Up: The other use case where you may want to share Analytics segments to AAM is when either the client side or Server side forwarding integration is not setup between these two solutions. A few clients in the early stages of Audience Manager implementation or during a POC may want to leverage this feature to start sharing segments with Demand Side Platforms for marketing purposes.

  • Need to Send Historical Audiences before Technical Integration: The final use case is prevalent when clients want to send audiences from the last 3 months to DSPs for a media campaign but their technical integration is only 7 days old and don't have enough data. That's where we can leverage this segment sharing feature. 

Analytics to Audience Manager (Real-Time)

This is the most common and recommended method to share segments between Adobe Analytics and AAM and it requires either a client side or server side integration of Analytics with AAM. The advantage of this integration is that this data is collected in real-time and rule-based traits created with this data can be mapped to a segment and activated on immediately. Below are some classic use cases that are executed using rule-based traits.
  • Retargeting: Site analytics data captured in AAM can be leveraged for retargeting use cases. The example below is a rule-based trait that is created to retarget potential hedge trimmer customers who viewed the product but did not purchase yet.

  • Personalization: Another very common use case is personalization where site analytics data can be leveraged and segments sent over to Adobe Target to show contextual content to users. An example of this can be showing a page customized for garden tools to visitors who are actively shopping for Hedge trimmers.

  • Conversion: We can measure conversion by creating Conversion traits. This type of rule-based trait is created by selecting "Conversion" from the "Event Type" drop down in the trait UI. As an example, a Conversion trait can be tied to either campaign landing pages or actual orders captured in Adobe Analytics and be analyzed using the Optimal Frequency report in AAM to measure campaign effectiveness.

Audience Manager to Analytics (Audience Analytics)

I'm not going to give a walkthrough of Audience Analytics as it's already covered in detail here but it's a way to send Audience Manager segments to Analytics. Audience Analytics is still relatively new and there'll be more analysis use cases that customers will find from it but in this section, I'm going to cover three use cases that will be helpful to measure via Audience Analytics. Few important things to call out is that AAM data will only start flowing into Analytics once we add a report suite to the Analytics destination in AAM AND segment qualifications will only work AFTER data is shared with Analytics as this data is not retroactive.
  • Tie Offline Conversions/Attributes to Online Activity: With Audience Analytics, we can tie offline attributes to online sales as well as tie offline sales to online activity. In the example, we're looking at demographic information captured from a CRM system and tying it to online sales for garden tools.

  • Customer Journey Analysis: Another important analysis use case for Audience Analytics is cross journey analytics where we can measure how prospective customers traverse across various channels/sources and land on the website. This can inform marketers where their marketing budget needs to be spent or shifted. In this example, we see how visitors present in a 3rd party data set move through various sources and eventually land on the website.

  • Measure View-Through Conversions: We can also use it to easily see how many visitors who saw an impression and not clicked, convert or visit certain pages on your website or app. This type of analysis can also be done in AAM but given that Audience Analytics is built within Workspace, you get more opportunities to do breakdowns and analysis than AAM.

The opportunities to measure audiences flowing in and out of Analytics/Audience Manager are plentiful and will continue to evolve but the first step is to leverage this amazing integration between two powerful solutions. How are you leveraging this integration for your business?

Sunday, July 15, 2018

iOS Mobile App Analytics Debugging

Back in 2008, I wrote about debugging web analytics code. Mobile App Analytics testing, on the other hand has always been a mixed bag for me. I've primarily leveraged Charles Proxy to setup a connection between my device and my computer outlined in the instructions here but I've never been able to set it up without a glitch. Given that I mostly use Apple devices, I'm going to cover how to test iOS Apps in this post.

Charles Proxy iOS App

The new Charles iOS App is a godsend if you're looking to validate Analytics calls on an iPhone or iPad. This App costs only $8.99 for a single device and the best thing about is the simple setup which is what makes it a steal in my opinion given all the time it'll save you in configuration. I highly recommend this app if you want to save yourself the hassle of setting up Charles proxy on your Mac or desktop as this App works both on 4G/LTE and Wifi. Note that this method is recommended when you want to test an App downloaded on your iOS device. Here's a link to the iTunes Store to buy it.

Below are some screenshots and a quick walkthrough of how to set it up on iOS.

  • Download the App and "Trust" the App by going to Settings -> General -> Profiles & Device Management on your iPhone.

  • Now that the app is successfully installed , let's take a look at how to set it up to start recording traffic. The first step is to toggle the Status option to "Active". You will see an icon showing "VPN" appear next the cellular and Wifi icons. Next, click on the Gear icon highlighted in Red to go into the Settings screen.

  • The next step is to click the "SSL Proxying" menu to enable SSL tracking which is a very important step. Install the SSL certificate to capture secure packets.

  • Now that the certificate is installed and proxying enabled, we'll have to enable SSL proxying for individual host names. Click the "Disable SSL Proxying" link and again click on the "Enable SSL Proxying" link to enable SSL tracking for a particular host name. You will have to restart the App for it to take effect.

  • You should end up with a list of all host names that will be displayed when you download the Charles log (covered in the next few bullets). You can also manually add hostnames by clicking on the "+" icon.

  • Once SSL proxying is enabled, let's take a look at how to review the logs by going to the main screen and clicking into the "CURRENT SESSION" menu. 

  • Once on this screen, filter for the host name you want to analyze as shown in the two screenshots.

  • You can now review the analytics request by clicking on the "View body" option under REQUEST BODY.

  • The issue with the Response header is that it's not easily legible so it makes sense to share the analytics requests by clicking on the icon highlighted in Green. To clear all requests, click on the icon highlighted in Red. Note that you can share the Charles session via Slack, email or text. This is now my preferred method of testing App analytics requests.

  • You can finally view the output in the desktop app for Charles proxy to see it more clearly as well as share it with others.

Enable Debugging in XCode

Finally, I highly recommend that you enable setDebugLogging in XCode to validate your test App for your own QA.

Please feel free to share other tools or methods by which you perform your own mobile App validation.