Skip to main content

A Closer Look at Google AdSense

The blogging fad had been hot like pancakes in the office , everyone seems to be interested on it ( just exaggerating ) . One of the common topics that just pops out everytime is AdSense . You might have noticed most of the blogs now have AdSense ( if your generous enough please click on my Ads LOL ) . Here is a primer on how to interpret your AdSense report . Im not an expert on the field ,as I always say , I just wanted to share what Google gave me .

Basicaly , the income you get from the tower block is the sum of all the values of each click, less Google's share. That is, it is calculated using the following formula:
Earnings = Click1 Cost + Click2 Cost + Click3 Cost +(...etc) - Google's Share

Everyday , google gives you a report about your AdSense and it may look something like the one below

Page impressions 50
Clicks 2
Page CTR 4.00%
Page eCPM $6.60
Earnings $0.33

Page Impressions (50)

This is simply a count of the number of times adverts have been displayed on your page. It includes occasions when your page has been displayed in search engine caches, so the count may not match your log files exactly. It counts pages not ads - if you had more ad units, link units or referral units on the page, then the page impressions would still be 50.

Clicks (2)

This is simply a count of the number of times that any advert has been clicked on the page - ie: 2 clicks.

Page CTR (4.00%)

This is a derived number: "Click Through Rate". There are often many different ways of calculating derived numbers, but in this example it is most easily and accurately produced using the calculation:

CTR = 100 x Clicks / Page Impressions

In this case the calculation is:

CTR = 100 x 2 / 50 = 4.00%

This the rate of clicks per hundred, a figure often used for comparing performance of different ad placements on a page.

eCPM ($6.60)

This is another derived number: "effective Cost Per Thousand" (M is the latin symbol for a thousand). It is often used for comparing ad placements and overall performance of ads or pages. It is calculated using the formula:

eCPM = 1000 x Earnings / Impressions

In this case, the calculation is:

eCPM = 1000 x $0.33 / 50 = $6.60

The eCPM metric provides an estimate of how much revenue you can expect to earn for every 1000 page impressions. For example, if you serve 10,000 page impressions and earn $40, your eCPM is $4. If page impressions increase to 30,000, you can predict that you'll earn $120 given the $4 eCPM.

Earnings ($0.33)

This is the amount of money that you will be paid by Google, at some point in the future, for the clicks. The calculation is:

(The sum of all the click values) x (Your percentage rate)

Your percentage rate is only known to Google, but if we assume a 70% payment to you, the calculation is:

Earnings = ($0.34 + $0.13) x ( 70 / 100 ) = $0.329
($0.329 is rounded to two decimal places in the report, to $0.33)

Assumption :
$0.34 the amount the first advertiser pays for the ad you first clicked.
$0.13 the amount the second advertiser pays for the ad you next clicked.
Only Google knows how much does the ads cost and it also depends on the location of the ads.

So there , a primer on what the parameters are . There are lot of articles in the internet that describes these concept further . Perhaps if you want to dig deeper , try visiting the official adsense blog or you could also click here and here for more information .


Popular posts from this blog

Hiding Unwanted Python Folders and Files in Visual Studio Code

Visual Studio Code is a universal editor and pretty good at it. However, the explorer view maybe cluttered with the automatically generated folders and files confusing developers. Python is no different. Below are example files and folders generated by Python.

The __pycache__ folder and *.pyc files  are totally unnecessary to the developer. To hide these files from the explorer view, we need to edit the settings.json for VSCode. Add the folder and the files as shown below:
Copy and paste the lines below :


Get Started with MongoDB Stitch : The New Backend As Service Offering from MongoDB

Halfway of this year, the guys from MongoDB launch their new backend as service product called MongoDB Stitch. While the launch is just for the beta, the promise of the service is quite interesting. MongoDB has been around for long now and some development stacks have been based on its database product, the MongoDB-ExpressJS-Angular-NodeJS (MEAN) and the MongoDB-ExpressJS-React-NodeJS (MERN) stacks to name a few. These stacks, however, relies on backend technology such as ExpressJS and NodeJS. The idea of provisioning servers and developing the backend solution makes it daunting for small to medium scale applications. MongoDB Atlas, at least made life much easier by providing on cloud database solution, but there must be a simpler solution, right? A solution the would stitch the backend and frontend together ( see what I did there ?).
MongoDB Stitch lets developers focus on building applications rather than on managing data manipulation code, service integration, or backend infrastruct…

Getting Started with Stateless : A Lightweight Workflow Library Alternative for .NET

A year ago, I was looking for a simple workflow manager for a project I was working. Its a medium sized application that involves tracking the state of assets in the system. Back in 2008, Microsoft (MS) introduced new technologies along with the release of Visual Studio 2008: Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF), and Windows Workflow Foundation(WF). Having worked in a company utilizing mostly MS products for development, my first option was to go with WF. After doing some time reading and studying the library, I paused and decided it was too complex for my requirement. Using WF would be an overkill and the fact that it has, a rather, steep learning curve, there has to be another option. My mind toyed with the idea of developing a simple workflow library myself. It would be a learning experience but it might end up consuming a lot of time.

Why reinvent the wheel? So I started querying the internet for a better solution. I stumbled upon Stateless