Pay Per Click Report

  • Posted on December 28, 2021
  • SEO
  • By Russell Richardson

Diminishing Customer Leads

that send ripples through a Google Ad campaign

When paid search is the heartbeat of online sales; the line between success and obscurity is as thin as a pixel on your screen. Don't Waste A Single Pay-Per-Click Advertising Dollar on a fraudulent click.

Pay Per Click Report

Google Ads Hijack

 One fateful day, a drastic ad targeting conversion rate anomaly crept into a my client's Google Ad's campaign. My client relies on paid search to drive visitors to their website in order to bring in new customers. He noticed a dip within a targeted ads campaign that typically brings in daily leads to their business. It was strange, his ad campaign was active, and there were multiple clicks, but inbound customers from Google ads were no longer reaching his business. He quickly increased the limit for the daily PPC budget then; just a few clicks later, he began to receive business from customers. We checked the analytics report, but all we could see is the traffic would arrive, then leave within a second. We were now aware of an issue, but more data sources were needed to determine what was happening.

What is PPC?

PPC stands for “pay per click”. An advertiser will pay a fee for visitors clicking on their digital marketing ads. PPC ads are very targeted because these ads only appear to people who have shown interest in a product or service by searching for keywords online. Advertisers are buying visits to their site with the help of a google ads PPC campaign. You might be wondering, why would an advertiser spend money on an ad click from a non-customer? The answer is simple: Don't. Historical data and google ads conversion tracking can be correlated to find key metric traffic to include in a report template for PPC reports.

General Traffic Metrics

Within their server logs, suspicious visitor traffic was discovered with matching GCLIDs. Repetitive matching GCLIDs are an important metric because this meant these ad clicks were from the same visitor.

Were their Google ads digital marketing being manipulated to increase the cost per conversion?

At the time, there wasn't a direct correlation to other PPC platforms, but still concerning. What happened to their customers in relation to his performance metrics, and why did this upset ad spend?

Google ads intended for their target audience had evaporated, and my customer increased campaign costs now needed to acquire the same amount of customers. Many businesses launch PPC campaigns and then abandon them after they fail to generate enough customer traffic. I created a PPC report to uncover any related problems affecting their PPC campaigns.

The Basics of a PPC Strategy

A PPC strategy is an instrumental element of a digital marketing plan. There are specific goals to consider as to how PPC campaigns are essential to your business.

Are you trying to generate more traffic, achieve industry benchmarks, or boost brand awareness?

How much money do you want to spend per click?

What is the ultimate goal for PPC marketers, and how many conversions are in a successful ad CTR?

Have you performed keyword research or data analysis to include in PPC ad groups?

Each keyword will cost a certain amount of money, so it's important to set a campaign budget ahead of time within the PPC report. You can do this by setting a daily budget and max bid amount on each keyword and ad group.

The next step in PPC strategy is using a PPC report to regularly analyze data from your ad campaigns. Correlating key points within monthly reports for PPC reporting of relational keyword targeting will produce a great PPC report. If ads are not generating enough leads or sales, then it may be time to adjust them or change the targeted keywords. Use marketing analytics to examine google Adwords because it's possible that people are no longer searching for keywords relevant to your ad campaign. This is why it's important to monitor your PPC reports often and make adjustments to Google ads.

PPC Reporting Tools

Google sheets for sharing PPC reports has become my go-to tool due to the ease of use and automation. A good PPC report was created to determine how much revenue could be salvaged. Ad groups were made to organize their PPC account into a meaningful hierarchy. By creating an effective Ad Group we were able to drive more traffic and leads at lower costs, while increasing the number of conversions on their site. PPC reporting tools and an analytics report were used to evaluate the cost per conversion and key metrics required to connect relevant google ads to their target audience. I've included the google apps script below to pull data and key metrics into a PPC report.

PPC Campaign Analysis

Creating custom reports to compare advertising clicks vs. external factors did reveal click-through rate problems which led to blocking the click fraud. A single PPC report was a good start; however, a good PPC report with weekly reports to track ad spend within PPC metrics was necessary. Studying performance metrics from a previous period brought insight into the campaign costs of their marketing campaigns.

One thing that many people don’t realize is that it’s not enough to simply create and launch an ad campaign. By analyzing campaigns, a digital marketing agency can identify the key factors for success and determine what's working and what isn't. These performance metrics can be used in future campaigns on other ad platforms. Some of these factors include:

  • -Your targeted keywords
  • -The demographic of your audience
  • -The ad placement on the page
  • -Where you rank in search engine results
  • -The cost of clicks on your ads
  • -The conversion rate of your ads
  • -The total number of clicks you receive per day

Digital Marketing Agencies

Paid, targeted advertising is becoming one of the most powerful ways to reach new customers and establish your business as an authority in your niche. What matters most to your digital marketing campaign?

  • Brand awareness and visitors
  • Market share
  • Maximizing sales or subscription services

A website is one of the most important tools when it comes to a digital marketing strategy.

The good news is that you don’t have to be a tech wizard to build your own site. A digital marketing agency will take care of the tech, freeing you up to focus on your marketing strategy.

An expert web developer will also be able to find the right marketing tools for your business and bring you to the table as a content strategist, SEO expert, or social media manager.

PPC Campaign AD Clicks

Digital marketing PPC goals are prudent for all social media platforms. PPC reporting that correlates click-through rate (CTR) with your google ads conversion rate and landing pages will help you understand how a PPC campaign is performing. This Custom report is an example of repetitive pay-per-clicks.

Within the PPC report, items highlighted in green have identical clickIDs but different IP addresses and time stamps. This ppc data will tell a marketing campaign story that will uncover the conversion rate anomalies for the ppc ads.

PPC Advertising

Why are there so many clicks with the same GCLID? 

User A then copies a URL containing the glcid parameter and posts it on a public discussion board (forum) or a social network, or sends the link as an email.

User B clicks this link (containing the gclid value) and arrives at your website. Even though User B has never been to the website before, this user will have the first session attributed to the same click id (gclid) value that was assigned to the original User A. In this case, you see new sessions (caused by User B) from an old campaign.

According to Google, there is no workaround for this pay-per-click scenario at the moment.


GCLID's are unique for every website visitor.

PPC Report

This PPC report was directly imported from a client's website. Custom reports are a way to get key metrics from a ppc data analysis.

To create PPC reports, Filter for the keyword “gclid” from your server log to import the data into a sheet. My approach uses SCP over SSH to get the server log, then filter the log with grep, and output to a CSV. Once the log is filtered, SCP the CSV back to the server and open the file with google sheets. I then use google sheets to easily share the data with the website owner and Google.

Google sheets is great because we can then trigger a google apps script to import the data from a webserver.

Here is the google apps script that I use to import the filtered GCLID log data directly from my webserver.

*when importing custom data from the log, I'm adding a timestamp with a random number at the end of the URL to bust up caching of the imported CSV. "Google will reload the data if the URL is different, otherwise google sheets will cache the old data for that same URL should I make a new same-day report."


  • Is the OS on your webserver linux?
  • If not, ask your admin to create the report from the server logs or hire a consultant from
  • Copy the and scripts to your server
  • Set the CSV output location
  • Run the Script
  • Connect to google sheets to import data using the script above
  • Enjoy!
  • Gclid.Sh - Filter For Gclid Lines In Apache Log
  • The Code is available on github.



    #Script Name   :

    #Description   : filter apache logs for gclid

    #Author        : Russell Richardson

    #Email         : [email protected]


    PS3="Which logs do you want? "
    LOGS=`ls $HOME/access-logs`

    select gclid in $LOGS;
      echo "The log $LOGS"
      LOG=`cat $HOME/access-logs/$gclid | grep gclid |grep -v -e .js -e .css | perl $LOCAL/ >> $HOME/www/public/tsil/\`date +%Y%m%d\`_$gclid-443byIP.csv`
      echo $LOG
    done perl script - create a CSV from a filtered apache log


    # @file
    # Converter tool, from Apache Common Log file to CSV.
    # All code is released under the GNU General Public License.
    # See COPYRIGHT.txt and LICENSE.txt.

    if ("$ARGV[0]" =~ /^-h|--help$/) {
      print "Usage: $0 access_log_file > csv_output_file.csv\n";
      print "   Or, $0 < access_log_file > csv_output_file.csv\n";
      print "   Or, $0 < access_log_file > csv_output_file.csv 2> invalid_lines.txt\n";

    %MONTHS = ( 'Jan' => '01', 'Feb' => '02', 'Mar' => '03', 'Apr' => '04', 'May' => '05', 'Jun' => '06',
      'Jul' => '07', 'Aug' => '08', 'Sep' => '09', 'Oct' => '10', 'Nov' => '11', 'Dec' => '12' );

    print STDOUT "\"Host\",\"Log Name\",\"Date Time\",\"Time Zone\",\"Method\",\"URL\",\"Response Code\",\"Bytes Sent\",\"Referer\",\"User Agent\"\n";
    $line_no = 0;

    while (<>) {
      if (/^([\w\.:-]+)\s+([\w\.:-]+)\s+([\w\.-]+)\s+\[(\d+)\/(\w+)\/(\d+):(\d+):(\d+):(\d+)\s?([\w:\+-]+)]\s+"(\w+)\s+(\S+)\s+HTTP\/\d\.\d"\s+(\d+)\s+([\d-]+)((\s+"([^"]+)"\s+")?([^"]+)")?$/) {
        $host = $1;
        $other = $2;
        $logname = $3;
        $day = $4;
        $month = $MONTHS{$5};
        $year = $6;
        $hour = $7;
        $min = $8;
        $sec = $9;
        $tz = $10;
        $method = $11;
        $url = $12;
        $code = $13;
        if ($14 eq '-') {
          $bytesd = 0;
        } else {
          $bytesd = $14;
        $referer = $17;
        $ua = $18;

        print STDOUT "\"$host\",\"$logname\",\"$year-$month-$day $hour:$min:$sec\",\"GMT$tz\",\"$method\",\"$url\",$code,$bytesd,\"$referer\"\,\"$ua\"\n";
      } else {
        print STDERR "Invalid Line at $line_no: $_";

    The Code is available on github.

Technical Consultant

Russell Richardson

I offer web tools and solutions that turn visitor traffic and cold leads into warm phone calls.

You May Also Like