Pre-install tracking

Much like ad campaigns, pre-installs are a good way to tap into new audiences. You can arrange with a device manufacturer or a retailer for them to pre-install your app on their devices before they go on sale. MyTracker is here to help you gauge the effectiveness of that approach.

  • how many pre-installs resulted in the launch of your app;
  • what kind of audience the manufacturer brought in (age, activity, LTV, etc.);
  • how much money each pre-install and the manufacturer overall generated.

How it works

Pre-install tracking generally looks as follows:

  1. You create a special pre-install.mytracker file, which contains a key-value pair for each pre-installed app. If a file for the manufacturer already exists, you simply add new lines to it.
  2. The manufacturer places the pre-install.mytracker file in a location of their choosing and specifies the file path in the device’s system properties (build.prop file) using the key ro.mytracker.preinstall.path.
  3. If there’s already a pre-install.mytracker on a device, the manufacturer should supplement the file with lines from the received pre-install.mytracker file without overwriting the file on the device in order to avoid data loss.

  4. A user buys a device and runs the app. Upon the first launch, the embedded SDK will read from the pre-install.mytracker file and send the pre-install data to MyTracker.
  5. Some device manufacturers run app in a background mode (without the user interface) to test the pre-install. This muddies the data on user launches for MyTracker.

    For installs to be counted only on the first launch by the user, additional logic needs to be implemented in the app: if the app is launched for the first time, do not initialize the MyTracker SDK until the graphical interface is loaded.

Where to start

  1. Make sure your app has a MyTracker SDK that supports the pre-installs (v2.0.2 or higher). If necessary, make changes to the SDK’s initialization logic (see the note above).
  2. In MyTracker, add an ad campaign listing Pre-install as Campaign type and the device manufacturer as Partner.
  3. For every app to be re-installed, add a separate tracking link to the campaign:
    • On the Tracking links page, press the Add button.
    • Enter the link title (for use in MyTracker lists and reports) and select the Android app that'll be pre-installed.
    • Press the Add button. A key-value pair app bundleID = tracking link ID will be generated that will allow MyTracker to detect the pre-installs.
    • Copy the key-value pair or download it as a mt_{idLink}.prop file to create a special pre-install.mytracker file.
    • You can add more pre-install information to a key-value pair in the JSON format using SubID parameters: sub1, sub2,..., sub5, sub_network, sub_campaign, sub_adset, sub_creative. For example:
    • com.mycompany.myapp={"mtLinkId":"aaaaa0", "sub_campaign":"special_campaign", "sub_adset":"some_adset"}
  4. Repeat step 3 for all applications to be pre-installed by the manufacturer. Create a common pre-install.mytracker file with individual lines for each app. For example:
  5. com.mycompany.myapp={"mtLinkId":"aaaaa0", "sub_campaign":"special_campaign", "sub_adset":"some_adset"}
    com.mycompany.myapp1={"mtLinkId":"aaaaa1", "sub_campaign":"special_campaign", "sub_adset":"some_adset1"}
  6. Contact the device manufacturer and send them the pre-install.mytracker file along with the APK. Make sure they copy the file to the device (or supplement it, if the file had already been copied), grant all users the read permission the file (644/744/777), and specify their chosen file path in the system properties (build.prop file) using the key ro.mytracker.preinstall.path. For example:
  7. adb root
    adb remount
    adb pull /system/build.prop
    echo ro.mytracker.preinstall.path=/data/pre-install.mytracker >> build.prop
    adb push build.prop /system/build.prop
    adb shell chmod 644 /system/build.prop
    adb reboot

All done! As soon as customers launch your app, MyTracker will detect pre-installs and collect data for new audiences. You can view the stats in the Constructor, e.g. by manufacturers (Partners). Therefor Select from list → Dimensions → Traffic source → Campaign → Partner.

For more details on how to build a report, please see the Constructor section