Skip to main content

iOS and Android Campaign Measurement for App installs

Android: Google Play Campaign Measurement

Google Play Campaign Measurement is a feature of Google Mobile App Analytics that enables the attribution of native Android app installs to advertising campaigns and other marketing efforts in your Google Analytics app reports. Verifying that your Google Play Campaign Measurement implementatin is working properly before the application is submitted to Google Play ensures that campaign measurement data is as accurate as possible at the time of launch.

This guide will illustrate one means of testing a Google Play Campaign Measurement implementation.


iOS: Cookie Tracking / Browser Identification

For iOS no such standard way exists. The main workarounds involve the setting of a cookie in the ad and then opening a WebView with the ad again after install - alternate identify the device by the informations the browser publishes (IP, accept-encoding, ...).
There are some rumors Apple would reject apps for cookie tracking...

Apple provides an Identifier for Vendor (same among same apps installed on device) and an Identifier for Advertisement, but both are available In-App only.

The main methods:
  • Device Fingerprinting
  • UDID (Deprecated)
  • OpenUDID/Copy-and-Pasteboard
  • MAC Address (Deprecated)
  • ODIN
  • Cookie Tracking
  • TRUSTed Mobile Ads
  • Apple Advertising Identifier and Identifier for Vendor
  • Android Referrer (see above)

Apple ID APIs

  • UDID
    • Deprecated
  • Application ID
    • Scope: App
    • Lifetime: Uninstall app
    • Backed up: Yes
    • Restores across devices: Yes
  • Vendor ID
    • Scope: Developer
    • Lifetime: Uninstall developer's apps
    • Backed up: Yes
    • Restores across devices: No
  • Advertising ID
    • Scope: Device
    • Lifetime: Erase all Content and Settings
    • Backed up: Yes
    • Restores across devices: No

Pros & Cons of the Top Mobile App Tracking Methods with a nice overview of the main methods

Comments

Most Favorite Posts

Judo App - Server Driven UI out of the box

Judo App Judo brings server-driven UI to your iOS and Android apps. Build user interfaces visually in a fraction of time and publish them instantly without submitting to the app store. Build Experiences - With No Code The Judo app for macOS, available through the App Store, is built for design professionals with common keyboard shortcuts and familiar concepts like canvas, layers and inspector panel. Workflow is streamlined with the ability to drag and drop media files directly into your experiences and manage your own Judo files in Finder. Manage Creative Execution A Judo experience is interactive and can include text, images, video and buttons. An experience may be part of a screen, a single screen, or more typically multiple linked screens. Judo supports screen transitions, carousels, horizontal scrolling and modals. Clients can add custom fonts and define global colors and these are updates applied universally. Effortlessly Deploy Judo Cloud syncs your experiences with your iOS and ...

App Indexing

A better search experience for apps and users with linking to in-app content. Google is working with app developers and webmasters to index the content of apps and relate them to websites. When relevant, Google Search results on Android will include deep links to apps. App Indexing

KSImageNamed: Xcode autocomplete for imageNamed

Can't remember whether that image you just added to the project was called button-separator-left or button-left-separator? Now you don't have to, because this will autocomplete your imageNamed: calls like you'd expect. Just type in [NSImage imageNamed: or [UIImage imageNamed: and all the images in your project will conveniently appear in the autocomplete menu. GitHub

CFPropertyList

The PHP implementation of Apple's PropertyList plist can handle XML PropertyLists as well as binary PropertyLists. It offers functionality to easily convert data between worlds, e.g. recalculating timestamps from unix epoch to apple epoch and vice versa. A feature to automagically create (guess) the plist structure from a normal PHP data structure will help you dump your data to plist in no time. github

Ten Must-Have Berlin Apps for iPhone and iPad

Fahrinfo Berlin: Timetables and Maps for Public Transportation Urban Art Guide: Guided Art Tours through Selected Districts Museumsführer Berlin: Search for Exhibitions by Category Zitty App: Event Guide for Berlin Qype: Tipps from the Community Tripwolf: Travel Guide with Tips from the Community Cityscouter: A Companion during Sightseeing Trips Berlin Unlike City Guide AroundMe: Quickly Find out Information about Surroundings Marcellino’s: Gourmet Guide for Berlin Air Berlin’s Mobile Services: More Convenient Way to Check in Test Berlin Apps at Gravis Flagship Store in Berlin Phone Guide Germany

Team building: "Meme-Your-Colleague"

Lately we were hiring a lot of developers and had to integrate them in our team. So we decided to do an infotainment team event, targeting both: getting to know each other on a personal level and learning about the business and technical state, challenges and visions. Usually a meeting like this starts with everybody telling a few words about themselves... one... after... each... other... and after third speaker latest everybody gets bored. So we came up with the "Meme-Your-Colleague" game: Build teams of two persons Give them half an hour to get to know each other Both have to assemble a five minute presentation of five slides of each other Each slide consists of exactly one meme telling a (fun) fact of that person You may want to use a meme generator  and a presentation tool like Keynote or PowerPoint. It ended up with the whole team having a lot of fun: a perfect ice breaker! Give it a shot!

PlistBuddy

If you want to generate a Plist within the shell script: The PlistBuddy command is used to read and modify values inside of a plist. Unless specified by the -c switch, PlistBuddy runs in interactive mode. Apple PlistBuddy ManPage