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 generate a key name and value for every pre-installed application and transfer them to the manufacturer.
  2. The manufacturer places the key name and value in the device’s system properties (build.prop file).
  3. A user buys a device and runs the app. Upon the first launch, the embedded SDK will read from the value and send the pre-install data to MyTracker.
  4. 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.1.1 or higher). If needed, change 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. Add a separate tracking link to the campaign for every app to be re-installed:
    • On the Tracking links page, click the Add button.
    • Enter the link title (for MyTracker lists and reports) and select the Android app that you need to pre-install.
    • Click the Add button. The system will generate the key name and value that allow MyTracker to detect the pre-installs. The key name comprises the ro.mtpi. prefix and application SDK KEY.
    • Copy the key name and value and transfer them to the manufacturer to place in system properties.
    • You can add more pre-install information to a key-value pair in the JSON format by using SubID parameters. Click Add parameters and in the constructor window that opens enter required values. In the Value field, check the result and copy the key name and value.

    Maximum value length is 91 symbols.

  4. Repeat step 3 for all applications to be pre-installed by the manufacturer.
  5. Ensure that the manufacturer placed the key name and value in system properties (build.prop file) and granted all users the read permission (644). For example:
    adb root
    adb remount
    adb pull /system/build.prop
    echo ro.mtpi.00000000000000000000={"mtLinkId":"aaaaa0", "sub1":"samsung", "sub_campaign":"Winter 2022"} >> build.prop
    adb push build.prop /system/build.prop
    adb shell chmod 644 /system/build.prop
    adb reboot

As soon as a customer launch your app, MyTracker will detect pre-installs and collect data on new audiences. You can view the stats in the Builder, e.g. by manufacturers (Partners). Therefore Select from list → Dimensions → Traffic source → Campaign → Partner.

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

Additional information

If the main tracking method is not suitable for you, you can use the additional method.

Crete a special pre-install.mytracker file, which contains a key-value pair for every pre-installed application. If the file for the manufacturer already exists, you can simply add new lines to it.

The manufacturer places the pre-install.mytracker file at their discretion and specifies the path to the file in the device's system properties (build.prop file) by using the ro.mytracker.preinstall.path key.

To start pre-install tracking:

  1. Create the special pre-install.mytracker file.
  2. Copy the key name and value, generated in step 3 of the Where to start section, and write them to the file in the key=value format.
  3. Transfer this file to the manufacturer for the further placement in devices.
  4. Ensure the manufacturer copied the file to the device (or enhanced it, if the file had already been copied) and specified the file path in the system properties (build.prop file) by using the ro.mytracker.preinstall.path key.