FAQs
  • 12 Aug 2022
  • 13 Minutes to read
  • Dark
    Light

FAQs

  • Dark
    Light

Frequently Asked Questions (FAQs) for marketers


What are tracked installs and reported installs? Why do those two installs differ?

Show more

When using Tenjin, you’ll notice that there are two types of installs: Reported Installs and Tracked Installs.

Reported Installs are installs that the ad network claims to drive for each of your campaigns. Tracked Installs are installs that an unbiased 3rd party attributes to an ad network’s campaign, taking into account the other campaigns you’re running on other ad networks. When looking at Tracked Installs, you are looking at an install metric that is holistic - it’s based on all campaigns, even ones that you’re running on other ad networks. Reported Installs, on the other hand, is calculated in a vacuum by the ad network you’re running on - it’s only based on what that ad network sees.

So are Reported Installs supposed to be the same as Tracked Installs? Not always. The point of attribution ISN’T to make Tracked Installs = Reported Installs. In fact, sometimes attribution is supposed to do the exact opposite. The point of attribution is to take a holistic view of ALL the campaign activity on the various ad networks you’re using at the same time, and attribute users to the most appropriate campaign. Only an unbiased 3rd party can do this.

For Example:
You’re running campaigns on two ad networks at the same time, Facebook and Google. You set the CPIs to $1.00 for each campaign on each ad network. A unique user clicks on your Facebook campaign, then later that same user clicks on your Google campaign, then installs the app. What happens? How is everything tracked for that user?

Since Facebook and Google don’t talk to each other, there is no way for them to reconcile the unique user interacting with both ad campaigns on separate networks at the same time. As a result, the Reported Install count for Facebook would be “1” and the Reported Install count for Google would be “1” also. Here’s what we have so far:

Screen Shot 2022-08-11 at 2.18.50 PM.png

But this makes no sense! We only acquired a single unique user! A unique user should only be associated to one of the campaigns!

That’s what attribution solves. By using a 3rd party attribution provider like Tenjin, Tenjin will place the user into the Google campaign as a “Tracked Install” (based on the last click in this case). This way, the unique user who clicked on Facebook and then Google will be associated with Google’s campaign and NOT Facebook’s. In this example the count for Tracked Installs and Reported Installs would look like this:

Screen Shot 2022-08-11 at 2.21.22 PM.png

Now the unique user is in the appropriate ad network campaign for downstream analysis of your campaigns. If the user starts generating LTV, then you know what the effectiveness of your spend is. This is the only way you can measure your ROI on an apples-to-apples basis.

So let’s say the acquired user generates 90-day LTV of $2.50. Your analysis would show the following:

Screen Shot 2022-08-11 at 2.22.10 PM.png

In this case ROI = (LTV/Spend -1).

This let’s you know your Google campaign is more effective than your Facebook campaign for that unique user.


Why are there discrepanices between tracked and reported installs?

Show more

Usually, up to a 30% discrepancy for SANs and 10% discrepancy for non-SANs is expected for the reasons below:

  1. Ad networks ignore 3rd party attribution technology - Meta, Twitter, Google and a few others rely on their own internal technology to let attribution partners know when an install should be awarded to their networks. When users for these networks overlap, the 3rd party technology can’t control if the ad network claims a Reported Install even when the attribution technology only picks one ad network to associate the download with.
  2. Install callbacks and click URLs are not set up properly - The most fixable of the problems is when click URLs and install callbacks are set up improperly by the advertiser. This can usually get fixed right away by double checking that the proper click URLs are getting used and the install callback in the attribution technology is functioning properly.
  3. Inaccurate methods for tracking clicks and installs are used with ad network SDKs - When an ad network does not support collection of an advertising ID (IDFA or GAID), then the 3rd party attribution technology will generally rely on fingerprinting.
  4. Doubling up on ad network and attribution SDKs - Attribution systems send install callbacks to ad networks to notify an ad network of an install. If the app has a duplicate SDK that sends an ad network install callbacks, there can be double counting of Reported Installs.
  5. Ad networks use a different attribution window from ours (usually for SANs).

How to configure your app to see Apple SKAN metrics on the Tenjin dashboard?

Show more

Tenjin documentation

Register / Claim your SK app if you haven’t already. Note you only need to claim the app once, so if you have already done it for receiving ad network postbacks, you don’t need to claim it again.

To opt-in to receive copies of winning install-validation postbacks for your advertised app, add the NSAdvertisingAttributionReportEndpoint key in your app’s Info.plist, and configure your server to receive the postbacks.

To add the key in your app’s Info.plist:

  1. Select Info.plist in the Project navigator in Xcode.
  2. Click the Add button (+) beside a key in the property list editor and press Return.
  3. Type the key name NSAdvertisingAttributionReportEndpoint.
  4. Choose String from the pop-up menu in the Type column.
  5. Enter https://tenjin-skan.com

For your reference, here’s what’s in the Apple documentation (Source):

Configure Your App to Receive Copies of Winning Install-Validation Postbacks

To opt-in to receive copies of winning install-validation postbacks for your advertised app, add the NSAdvertisingAttributionReportEndpoint key in your app’s Info.plist, and configure your server to receive the postbacks.

To add the key in your app’s Info.plist:

  1. Select Info.plist in the Project navigator in Xcode.
  2. Click the Add button (+) beside a key in the property list editor and press Return.
  3. Type the key name NSAdvertisingAttributionReportEndpoint.
  4. Choose String from the pop-up menu in the Type column.
  5. Type a valid URL in the format “https://example.com” that contains your domain name in place of example.com.

Why is Tenjin's retention rate different from retention in other tools?

Show more “Retention” is a simple idea, but there are several details to consider when implementing it. At Tenjin, we calculate “classic” retention: an N-day retained user is one who returns on the Nth day after acquisition. The day a user returns may seem clear and simple, but there are actually 2 ways to interpret this: (1) using absolute time or (2) using relative time. As an example of absolute time, a user acquired on May 1st and returning on May 2nd is called a 1-day user. However, if that user was acquired at 23:59 May 1 and returned at 00:01 May 2, they really only waited 2 minutes to return.
  • At Tenjin, we use relative time. Each user has their own “lifetime”, as counted in days after acquisition time. Their “birth” is at acquisition on day 0, and day 1 begins 24 hours later. An N-day retained user is one who returns between 24N hours and 24(N+1) hours after acquisition

    the N-day retention rate = unique N-day retained users / unique 0-day users

  • We believe using relative time puts all users on equal footing, no matter what time zone they may be in, or what their circadian rhythm might be. It also enables us to “normalize” our other lifetime metrics, such as cumulative revenue, cumulative ROI, and cost-per-retained user.


Why isn't Tenjin IAP revenue the same as revenue in iTunes connect or Google play console?

Show more
  • Tenjin collects IAP revenue directly from your SDK, whereas iTunes connect or Google play console shows their number directly through the store purchase. Based on our experience, those revenue could be different by up to 20%.

  • These are the possibilities if you see a large discrepancy.

    1. Tenjin’s revenue is net(after 30% Apple/Google play store cut)
    2. (Only for iOS) If you don’t validate receipts, Tenjin counts all revenue that gets passed through our SDK. But some revenue may be rejected by Apple. To avoid this, please make sure to use our receipt validation (iOS SDK)
    3. If you newly integrate our SDK and the app update is voluntary, some users won’t have Tenjin SDK yet. In that case you won’t see all revenue in Tenjin. This should go away as time goes by.

What is the default time zone of Tenjin dashboard?

Show more
  • tracked_installs, retention, and LTV are shown in UTC. For ad spend or ad revenue, it depends on ad-network as described in here.

How can I see when my Tenjin dashboard was last updated?

Show more
  • The User Acquisition and Ad Monetization tabs have a timestamp that show when the report was last updated. This time is shown in your local timezone.

What are Unavailable channels?

Show more
  • The most common reason your User Acquisition dashboard may have an Unavailable Channel or Unavailable Campaign is because there is ad revenue that can’t be attributed to users of a specific channel or campaign. This happens when an ad network reports ad revenue for a specific country, but we don’t see any events from users in that country.

I don't see spend for Meta or Google

Show more
  • If you have set up your Meta or Google channels correctly but don't see any spend on the dashboard yet, please make sure you add the ad account ID you are trying to pull the spend for. The instructions are here.

How do I request data deletion under GDPR?

Show more
  • Under the main menu, select My Account-> GDPR Requests. You can either enter data manually or upload a CSV if there are multiple requests.

    image.png


My ad account is highlighted in red, what should I do?

Show more

image.png

This is because we were unable to pull spend or ad revenue data from ad-network API in the last attempt. The most common reasons are:

  • Credentials used to pull the data are no longer valid. This could happen when the password on ad network dashboard is updated, or the user who authenticated accounts before is no longer in the company.
  • For self-attribution networks(Meta, Google, Apple Search for example), please re-authenticate your account, and update the ad account again. The instructions are here.
  • For non self-attribution networks, please double-check your API credentials. The instructions are here.
  • One-time server error on the Ad network side. In this case, we will be able to pull the data during our next attempt.

I see my ad account is suspended, what should I do?

Show more

image.png

  • If the ad account has not been working for 1 month, we will automatically suspend the ad account. This means that we won't automatically try to pull the data for your ad account anymore. To fix it,
    • For self-attribution networks(Meta, Google, Apple Search for example), please re-authenticate your account, and update the ad account again. The instructions are here.
    • For non self-attribution networks, please double-check your API credentials. The instructions are here.

What time will yesterday's data be updated on the dashboard?

Show more
  • Tenjin dashboard uses UTC timezone, so yesterdays' data will be updated around 3AM UTC time since we process the data once in every few hours.

What is the difference between Revenue and LTV?

Show more

When you say “revenue” in general, there are two types of revenue - cohort or non-cohort. In Tenjin, we have a clear distinction between these two. “Revenue” is always a non-cohort value, and “LTV” is always a cohort value by definition. Let’s look at an example. Assume today is 10/20:

cohort.jpeg

In this example,

  • Total Rev = $94.27
  • 90-day Total LTV = $91.70

This means the app generated $94.27 from all users (regardless of when those users were acquired) in September (non-cohort), and the app generated $91.70 in the lifetime from the users that were acquired in September (cohort). Revenue is usually useful when you manage daily cashflow and LTV is to measure your campaign ROI.

Please be aware of this difference when you compare Tenjin numbers with the numbers you see in other tools. We also separate out IAP revenue (or LTV) and ad revenue (or LTV), so you can see where your revenue comes from.


Why does the Revenue not equal the x-day LTV?

Show more

Revenue is the daily cashflow over the selected date range.

  • given date range from Sept 1 to Sept 30, all users generated $94.27 in revenue for app activity (IAP or ad revenue) that occurred in that date range

x-day LTV is the revenue generated by users acquired (installing the app) during the selected date range, as the cumulative total for X days after installing the app.

  • It is important to know what “today” is, in relation to the selected date range because you need to know how “old” the included users are. If today is Oct 20 and the given date range is Sept 1-30, your “oldest” users are 50 days old (Oct 20 minus Sept 1), and your “youngest” users are 20 days old. The 90-day LTV total of $91.70 is all the revenue generated by users in 30 cohorts (each day of September). Consequently, given this date range in the example, 50-day LTV, 51-day LTV …, 89-day LTV, and 90-day LTV would all be the same value, since your oldest users are only able to generate 50 days of revenue after the install.

Will Revenue ever equal x-day LTV?

Probably not. You would need ALL users in a single UTC day (00:00 to 23:59) to have EXACTLY the same install date. This is extremely unlikely.


Why are LTV & ROAS on the Tenjin dashboard different from the Applovin dashboard?

Show more

The assumption here is that your app is based on in-app ads.

  • Tenjin allocates ad revenue using the sesion counts from SDK to calculate LTV or ROAS. This total must be somehow distributed and assigned to each user’s source channel. We use the proportion of app sessions generated by the user (on that day, in that app) to estimate how much ad revenue to assign to each source channel.
  • For example,
    • Data from publisher API:
      • 4/20/2016
      • Cool Game
      • $20 ad revenue
    • Data from Tenjin SDK:
      • 4/20/2016
      • Cool Game
      • 30 Meta sessions
      • 40 Google sessions
      • 30 Twitter sessions
    • Estimated ad revenue for each source channel:
      • 4/20/2016
      • Cool Game
      • $6 Meta ad revenue
      • $8 Google ad revenue
      • $6 Twitter ad revenue
  • Cohorted ad revenue is a bit more complicated but uses the same estimation method. The user’s acquisition day and n-th day of life are also taken into account when determining the proportion of app sessions.
  • However, AppLovin uses impression-level ad revenue(ILRD) to calculate LTV or ROAS. In general, their LTV is higher than Tenjin LTV based on the allocation logic.

Currently Tenjin is working on supporting LTV or ROAS using the impression-level ad revenue. Once this is supported, there won't be any discrepancy.


Discrepancy between Tiktok conversions and Tenjin tracked installs for iOS apps

Show more
  • TikTok uses SKAdNetwork for iOS 14 campaigns as described here. We can still track iOS 14 users via IP address matching, so our tracked_installs won't match with reported_installs.

How do campaigns in each network map to Tenjin campaigns?

Show more Please refer to this sheet: https://docs.google.com/spreadsheets/d/1sBJiQOpQOHyGT7eaAme2LXyqmBVtExyqDhZNjD4fhzs/edit?usp=sharing

This is the list (not exclusive). If you want to know the mapping for a channel or campaign that's not in this list, please contact us at support@tenjin.com.


For which channels do I need to create only 1 Tenjin campaign per app?

Show more
  • Certain UA channels use the same tracking URL template per app and pass the campaign information to Tenjin upon the click event. For such channels, you need to create only 1 Tenjin campaign to get the tracking URL and use that for all campaigns within the same app. These channels are:

    • AdColony
    • Applovin
    • Fyber
    • ironSource
    • Jetfuel
    • Kuaishou
    • Mintegral
    • Nativex
    • Ocean Engine
    • Tapjoy
    • TikTok
    • Unity Ads
    • Vungle
    • Bigo Ads


Was this article helpful?

What's Next