Tracking User with Google Ad Link - google-ads-api

I'm not sure I've stated the title correctly, but I have what I think is an unusual issue. Not something I'm terribly worried about but curious. If I'm tagging this inappropriately I apologize.
I have a google ad running and track clicks using Final URL. So I track keywords, Ad_ID, Location, etc. Looking at the database I noticed that I am getting a hit on my website from what appears to be one user fairly regularly (sometimes minutes apart - other times days - 3200 entries) for the last 2 years, at least to when I started tracking this way. The entry shows the same keywords and the same location - which is local - a mobile device - but not an Ad_ID or a referring URL. I take the google info from the query string in the url so the query string would have to be the same every time.
I recently added a tracking cookie (long expiration) on the user end and this activity shows up with a different cookie value every time meaning either its either a different device or the device doesn't accept cookies. Each hit also starts a new session.
These hits do not show up as clicks on Google Ads so I'm not being charged, it also means that someone is not actually out there clicking on the ad.
I don't see where this is causing problems but am curious as to where this may be coming from. I don't know if there is a way to stop it.
So nothing critical but ideas on what might be causing this would be appreciated. I also get a ton of spam or bot hits on the site but that's a different issue.
Thanks!

Related

Facebook Analytics SDK for iOS app: how to disable value tracking for non-valuable events like App Install or Start Trial?

I'm running Facebook Ads campaigns for my iOS app and quite naturally I have Facebook Analytics SDK integrated inside my app to track App Installs and Start Trial events to measure the "quality" of the traffic my campaigns bring.
At the Analytics settings page inside Facebook developer dashboard.
https://developers.facebook.com/apps/XXX_APP_ID_XXX/analytics/settings/?business_id=XXX_BUSINESS_ID_XXX
I have the option Log In-App Events Automatically (Recommended) set to "Yes", which I presume enables the tracking of App Install and Start Trial events. There's also a Shared App Secret field filled in with the value from iTunesConnect.
Indeed, the App Install and Start Trial events have started to appear inside Analytics dashboard
https://www.facebook.com/analytics/XXX_APP_ID_XXX/AppEvents?__aref_src=landing_page&__aref_id=entity_name&force_desktop=1&user_id=XXX_USER_ID_XXX
However I noticed when viewing the stats for just App Installs there's a quite considerable value in USD attributed to these events. I decided to take a closer look into these events using Event Debugging
https://www.facebook.com/analytics/XXX_APP_ID_XXX/most_recent?since=1577923200000&until=1580256000000&__aref_src=landing_page&__aref_id=entity_name&force_desktop=1&user_id=XXX_USER_ID_XXX
and selecting "App Install" in the events filter.
There I saw that some (only some and as if randomly) App Installs have a value associated with them. To me this is an unexpected behavior since I can't imagine revenue being made by just receiving an install.
Same goes for Start Trial event, which always has the value associated to it (equal to the sale price of a subscription period) and once again this makes no sense to me because started trials themselves bring no value to me. They may be canceled or may end up in Billing Retry when the user has no money on the bank card attached to their iTunes account, etc. I track the conversions from Start Trial to Purchase on my backend separately with great precision and only these conversions as well as subsequent renewals would bring real value to my business.
I can and will track these Purchases manually and post them to Facebook (server-to-server style) and I will supply the corresponding value to these events myself, which will help to understand the overall performance and ROI but I need to clean my stats from these "false" automatically and erroneously attributed values to App Install and Start Trial events first.
I've already reported this issue to Facebook few days ago, however they seem to be slow in handling such requests so I've decided to ask here if anybody ran into similar issue.
Add this to your plist file to disable Auto Event Logging
<key>FacebookAutoLogAppEventsEnabled</key>
<false/>
Thanks to Lena Bru for giving enough food to find a solution.
The Facebook documentation is scarce on the raised questions and the support answer literally headed me towards the documentation. To recap things, there were 2 main issues (the second one I've mentioned in the comments to Lena's reply):
Facebook was tracking value for the events, which brought no value to my business
Some of the events I've sent from backend didn't appear in the campaign reports
To solve both of these problems, I:
Turned off the value tracking option in the Facebook app settings
On the client side I've started setting up User ID (which the client receives from backend) according to Facebook documentation
I've started to send all of the events, which I wanted to view inside Facebook business cabinet, under custom names from backend. I've supplemented them with app_user_id parameter (see Advanced Matching for App Events in Facebook documentation) so that they could match the App Installs reported from client.
There's still a smaller issue left (it feels like Facebook reports include 20% less installs than actually happening) but the current setup is already something to begin with.

Tracking affiliate generated app installs in iOS greater than 24 hours

I'm trying to run an affiliate project for my app and Apple's 24 hour cutoff makes it a bit difficult. I'm wondering whether there is a way to implement one's own tracking?
I first was thinking a landing page with a phone number input form. Upon submission we'd use something like Twillio to send the user the app store link via SMS and also store the phone number together with the affiliates code from the landing page URL. I then saw that Google somehow let's you track adwords in relation to app installs and thought that perhaps there might be a way that doesn't involve this phone number indirection... Anyone know how they do it?
To be or not to be
The main question here is nature of your intention.
It reasons necessary accuracy / limitations you have on iOS. I see two variants.
100% Accuracy
If you need 100% accuracy, you can use SFSafariViewController - it's view is rendered by another process and it has shareable cookies between your app and Safari. It's iOS 9+ only 100% way to attribute installs. Also you can go with explicit attribution (email, phone number etc.) requested from user after app install. It might be needed if business model relies on this process (like each install is paid out to user account etc.)
You can get an idea and do implementation following this link
<100% Accuracy
If you want to provide greatest UX possible (but it's not critical) or gather analytics (but it allows some kind of deviation) you can go with some approximation techniques, like gathering IP addresses, location etc from requests to your affilate link. The flow can be following:
Your landing page contains dynamically generated link
Upon clicking on link, user metadata is stored (ip, location, device info - whatever can be grabbed from User-Agent or another info available to your web service)
User is redirected to App Store
Upon install and run, app queries your service with device info and ip.
Your web service now decides on attribution. Matching algorithm can include any necessary amount of variables / conditions. Like "Same IP + Device Type + No more than 5 minutes since clicking the link".
This way you don't request any user info (email, phone number) but you're already able to track attribution. Correctness percent is subject to tuning.
Edit #1
This approach might be helpful to you, it's used to attribute login, however you can use modified for analytics.
Edit #2
If you're really wondering, how AdWords does this, you might be interested in install tracking step-by-step guide. It's explicitly stated (section "Instructions for tracking iOS app installs (first open)", p.14) that you should either use AdWords tracking code (this tutorial describes how) or setup server-server integration. So, going back to original questions:
..there might be a way that doesn't involve this phone number indirection?
Yes
Anyone know how they do it?
There are lots of techniques (as well as measurement pixel built on top of mentioned above SFSafariViewController), described in these docs:
Google SDK,
3d-party SDKs

My Own Impressions on AdMob?

I successfully made an app and its waiting for review right now. But meanwhile i've been playing the game on my mom's phone because, one, i dont have an iphone and its for iphone, and two, I actually like playing it. But I looked at my admob because i wanted to make sure i wasnt messing with it by playing my own app but it turns out i have 100 impressions! D: No clicks though, and i know im not supposed to click on my own ads. What do the impressions do? what are they? Am I going to get in trouble? I stopped playing the game now.
btw my moms iphone no longer has my developer Apple ID signed in on it, but it can still play the app and the UDID is still registered with the developer account if that matters.
Nothing to worry about.
Impressions are when an ad is displayed.
Requests are when an ad is requested.
Clicks is when you clicked on an ad (you haven't done that so nothing to worry about).
It's probably a good idea to add some quick code that differentiates between you and every other user. "If username == 'MobileGamer', don't display ads", or something similar. Just to be safe.
For example, I have several websites where both the ads and the stats-tracking code is omitted if I'm the logged-in user. That way, Google can't claim that I'm trying to steal money from them when I'm using my own website (they've tried before), and my user stats aren't skewed by huge activity spikes whenever I'm adding features or testing.
I haven't used AdMob specifically, but ad companies are famously strict with this sort of thing. I was once kicked from an advertising plan simply because my roommate, who was on the same network as me, clicked on an ad no my website once.
Better not to risk it. Just don't show the ads at all, for you or your testers.

Storing usage data about iOS app against the app store guidelines?

What I would like to know is whether there is anything wrong (in terms of the law, and App Store guidelines) with storing information about your application, and broadcasting it to an online location for gathering.
Specifically, an application which would normally not connect to the internet, connecting when it starts up and storing usage information like time of day, the device ID, and how long the person uses it for.
I'm guessing this sort of behavior is fine so long as you get the users consent first?
It’s fine if you ask the user first and give him an option to turn this feature off. We were once spanked out of the App Store simply for uploading a new game high-score record without a cancel button. It’s quite a long time and the rules might have changed, but better safe then sorry and your users will like the confirmation screen, too.

iOS - Google Analytics - Visitor Loyalty

the Visitor Loyalty numbers for the iOS Google Analytics seem to be wrong (at least in my case). According the numbers the app is visited only 1 or 2 times. Never more than 2. This made no sense to me so I created a new account using Google's example app, same results.
Now the question remains: is this a known issue, do you guys also have problems with Visitor Loyalty numbers with the use of the iOS GA sdk or am I missing something here? Are the cookies overwritten or deleted after the second time? All the other results are okay (also the absolute unique visitors) so the cookies don't seem to be the problem..
(btw with the Android sdk I don't have these problems)
Google say:
Unique Visitors represents the number of unduplicated (counted only once) visitors to your website over the course of a specified time period. A Unique Visitor is determined using cookies.
So every time you re-install your app on device or simulator, a new unique visitor will be detected.

Resources