How can I make unskippable ads?(AdMob) - admob-rewardedvideoad

I'm working with AdMob rewarded ads, in the AdMob test rewarded ad the video length is 5 seconds, and after 5s a skip button appears, and I do have several questions:
Does all ad videos length will be 5 seconds?
Can I make unskippable ads?
Can I set the ad video skip time? (first one 15s, the other 30s...)

Related

Diverging count of active users in the last 30 minutes (StreamView)

I recently noticed that the user count that is shown on the map on the "StreamView" page is much lower than normal.
However, in the "Project Overview" tab, the same user count appears to be normal, as it is in accordance with the numbers that I had already obtained in my app's statistics.
When I click on that number of users online on the "Project Overview" page and I'm redirected to the map I see a completely different and much lower number...
This is happening with my 2 projects.
I took 2 screenshots to exemplify, one for each project. In both there are the two screens opened simultaneously to show the difference in the number of active users.

Google Analytics: hits stop getting counted

We're implementing Google Analytics in retail consumer kiosk software. There is no Javascript or SDKs or web pages involved - we craft a URL per Measurement Protocol and post it. We find that sometimes hits seem to just stop getting counted. If we watch the Real-Time section on the GA web site we can see that our hits continue to get posted, but over in the Behavior / Screens section the number of screen views for this device for today stops incrementing.
It's not just a "sometimes you have to wait 24 hours" thing, because Tuesday and Wednesday of last week still show zero today. If it's a rate limit, I can't see what - we're nowhere near 200k hits per day (per user, but from our point of view each kiosk is a user - we don't have any means to identify individual users); we shouldn't be hitting 500 hits per session because we send a session start (ec=Session&sc=Start) each time the user does something on the main menu and a session end (ec=Session&sc=End) each time the workflow finishes, which shouldn't ever be more than 20 screens - the default 'idle timeout' definition of a session wouldn't work well for us since a user can legitimately be working on a single screen for 10 minutes or more editing a picture whereas also a user can finish and leave and the next user in line start using the kiosk within just a few seconds; we shouldn't be sending events 'too fast' because it takes a couple seconds for a human to read the screen and reach out and touch a button.
What we observe is that some days it counts up to 340-360 and stops and some days it stays at 0 permanently. Any idea what's happening and how to fix it?
11/24: Today it went up to 352 and then stopped. This was about one hour of activity. All of this has been done with "Highest precision" selected.
12/1: Still same, counts for about one hour, to 347 screen views today, then stops incrementing.
When I look at Audience/Overview it says "Sessions 1". There should be dozens of sessions, split up by when we send (ec=Session&sc=Start). I think it must not be recognizing that as a session, it must be using the session timeout (idle), and staying all within a single session, and therefore limiting to 500 hits (we've got some events to go along with the screen views). And this is just wrong. Session should end when we say it does.
12/1: One correction, we actually do send sc=start and sc=end, with the values lower-case, as specified by Google.
My coworker did some experimenting and found that sc=start is ignored on t=event hits. It is recognized on t=pageview hits. I changed my reporting a bit to generate a fake pageview when a session starts, just so I could send the sc=start, and now the counts are accurate.

google analytics showing wrong number of page views

I am trying to stress test my google analytics system and I have sent around 100,000 request to the GA at the rate of about 3000/s . I have received 200 as the status code for successful ping to GA. All the request sent are exactly similar.
But when I see the real time dashboard the numbers are wrong and only shows about 1/3 the total requests sent. Has anybody observed similar behavior with GA?
Do You know that a standart (free) version of GA has many restrictions? For example it has limited number of hits per second collect by it. It is normal behaviour to limit collected data if You make 3000 hits per second.
As per documentation:
ga.js:
Each ga.js tracker object starts with 10 hits that are replenished at
a rate of 1 hit per second. Applies only to event type hits.
analytics.js:
Each analytics.js tracker object starts with 20 hits that are
replenished at a rate of 2 hit per second. Applies to All hits except
for ecommerce (item or transaction).
Android SDK
For each tracker instance on a device, each app instance starts with
60 hits that are replenished at a rate of 1 hit every 2 seconds.
Applies to All hits except for ecommerce (item or transaction).
iOS SDK
Each property starts with 60 hits that are replenished at a rate of 1
hit every 2 seconds. Applies to All hits except for ecommerce (item or
transaction).

Why are Google Analytics Dashboard statistics changing?

Background:
I have a Google Analytics account using which I am tracking user activity for web and mobile app. After logging into your account and choosing the web property and the corresponding view, you generally see a dashboard with quick stats like Pageviews, Users, Sessions, Pages/Sessions, Avg. Session Duration, Bounce Rate and percentage of new sessions. You can change the time period (from the top right area of the Dashboard) to get the same stats for that period.
Problem:
Last week, I was interested in the three main stats: Page views, Users and Sessions for a particular day - say, day A. The dashboard showed the following stats:
Pageviews - 1,660,137
Users - 496,068
Sessions - 983,549
This report was based on 100% of sessions.
I go back to the dashboard TODAY and check the same stats for the same day A. Here's what I saw:
Pageviews - 1,660,137
Users - 511,071
Sessions - 1,005,517
This report is also based on 100% of sessions.
Nothing was changed in the tracking code for the web and mobile app. Could someone explain why I have this difference in the stats? Is this normal?
They need some time to update the system, otherwise their system would overwhelm
When you first create a profile it can take up to 48 -72 hours for it to start showing data.
After that time data will appear instantly in the Real-time reports.
Standard reports take longer to finish processing. You need to remember the amount of data that is being processed. Some of the data may appear in the standard reports after a few hours. The numbers have not completed processing for at least 24 hours, so anything you look at then will not be accurate.
When checking Google Analytics never look at todays or yesterdays numbers in the standards reports, if you want accurate information. Things get even more confusing when you consider time zones. When exactly is it yesterday? I have noticed numbers changing as far back as 48 hours. But Google Says in there documentation 24 hours. I am looking for the link in the documentation will post it when I find it.
Found it: Data Limits
Data processing latency
Processing latency is 24-48 hours. Standard accounts that send more
than 200,000 sessions per day to Google Analytics will result in the
reports being refreshed only once a day. This can delay updates to
reports and metrics for up to two days. To restore intra-day
processing, reduce the number of sessions you send to < 200,000 per
day. For Premium accounts, this limit is extended to 2 billion hits
per month.
So try doing the same thing again today but check your last day being Monday. When you check again next week the numbers should be correct.

How can you achieve targeted yet evenly displayed banners in OpenX?

Many banners are tied to a zone. All of these banners have different targeting requirements using the site:variable (I say "requirements" loosely as the banner can be displayed even when requirements are not matched). The reason for this is because all banners must ultimately have an even number of impressions; however, along the way, the system should use the best of targeting when possible.
An example of the desired logic is below:
Given -
Banner 1 Targeting: IncomeGreaterThan20k=1, FishingIndustry=1
Banner 2 Targeting: IncomeLessThan20k=1, FishingIndustry=1
Visitor Profile: IncomeGreaterThan20k=1, FishingIndustry=1
Case 1 -
Banner 1 Impressions = 999
Banner 2 Impressions = 1000
Zone Rendered to Visitor 1 - Banner 1 is displayed
Why?: Targeting of Banner 1 is better than targeting of other ads (more matches on site:variables), best targeted banner has impressions less than or equal to other banners = true, show Banner 1.
Case 2 -
Banner 1 Impressions = 1000
Banner 2 Impressions = 1000
Zone Rendered to Visitor 1 - Banner 1 is displayed
Why?: Targeting of Banner 1 is better than targeting of other ads (more matches on site:variables), best targeted banner has impressions less than or equal to other banners = true, show Banner 1.
Case 3 -
Banner 1 Impressions = 1001
Banner 2 Impressions = 1000
Zone Rendered to Visitor 1 - Banner 2 is displayed
Why?: Targeting of Banner 1 is better than targeting of other ads (more matches on site:variables), best targeted banner has impressions less than or equal to other banners = false, show Banner 2.
When there are more than 2 banners, the logic should be extended based on the number of targeted variables matched and the number of impressions.
How can you configure the banner targeting to accomplish this?
If this can be accomplished, is there a way to put importance weights on the various site:variables?
If this can be accomplished, can you adjust the threshold for the number of impressions difference that can occur between the ads? Rule: No ad should be rendered more than 10 time more than any other ad.
The number of targeting fields matching does not affect ad selection.
If 4 banners in a zone end up with their targeting as 'true' (as in, all targeting criteria are met) then they are all considered for delivery.
After that, if all 4 are remnant banners from different campaigns, the only thing which adjusts the ad selection is the campaign weight. If they're all equal weighting, they all have equal chance of selection. If campaign1 has double the weight of campaign 2,3, and 4, then it has double the chance of the other campaigns of being selected.
To do exactly what you wish would require a plugin which alters the ad selection process.
1) Set all campaign weights equal (lets say weight=10), and all campaigns as remnant
2) Once all banners with targeting=false are thrown away, analyze the remaining banners and give more weight to ones with more targeting criteria
3) During hourly maintenance, analyze the stats and give a higher weight to ones which are falling behind. You don't want to do this during delivery because querying stats during delivery will cause a lot of overhead to the delivery process, which should be as quick as possible without DB calls
Using weights does not guarantee equal impressions - if they have a 50/50 chance of delivering there is a chance bannerA will delivery 1005 and bannerB will delivery 995, etc. It generally works out well - but since you are altering weights depending on targeting you are going against the 'deliver evenly' idea and perhaps pausing an ad which has gone above the 10x is a better idea, and then re-activating once it is within 5x (or such)
Note - unfortunately, making plugins for OpenX isn't very easy unless you have someone who already knows their way around. Its not a matter of knowing PHP, its a matter of knowing the OpenX plugin architecture.

Resources