Skip to content

Tutorial: Automating PPC Client Reports Using Zapier and OpenAI

4 min

Last week we talked about Freud.

This week? We're talking Droid.

I've been doing quite a bit of work lately on automating client reports.

See, most of our clients are NOT technical. We send them a dashboard of all their campaign stats, but it looks like this:

An example client dashboard.

...and, well. Yeah. Not exactly the easiest thing in the world to read!

The end result of all that is generally that client's don't read their dashboards. This leads them to feeling out-of-the-loop, creates anxiety, and generally creates a bad experience.

To help with this, we produce written-reports summarizing their account data in a friendly way. The reports look something like this:

An example client report.

Better! But still not great, because now the account manager is spending a significant amount of time each week summarizing a bunch of numbers when they could know. Making those numbers go UP!

One fun potential solution I've been playing with: Using Zapier's OpenAI API connection to automatically create reports based on data in a Google Sheet.

I walk through the process here:

Here's an example report, produced by GPT after inputting the last 14 days worth of account data, the data from the previous 14 day period, and a quick description of the tasks completed by the team:

"ACCOUNT UPDATE:The past 14 days have seen an increase in account performance across all metrics. There has been an increase in impressions of 27%, reaching a total of 54,521 impressions. This is an absolute change of 11,719 impressions. CTR has seen a slight increase of 4%, bringing it up to 0.12%. This is an absolute change of 0.005%. CPM has seen a decrease of 9%, bringing it down to $1.70. This is an absolute change of $0.17.Overall, the account has seen a significant increase in impressions. This could be due to changes in the targeting, or changes in the ad copy. In addition, an increase in CTR is good news, as it indicates that more people are engaging with the ad. The decrease in CPM suggests that the account is running more efficiently, as it is costing the client less to get the same or better results.The account is performing well, and I will continue to monitor the metrics to ensure that the client is getting the best results possible.

MANAGEMENT NOTES: Over the past 14 days, I have made several changes to the online marketing account to ensure that we are targeting motivated sellers with intent-based searches. To start, I added 23 negative terms to limit traffic that is looking for general information. This ensures that we are only targeting relevant searches that are likely to convert. I also paused two non-performing keywords to reduce our overall cost.Looking ahead, I plan to continue monitoring the performance of our account for the next 14 days. This is necessary as it takes time for Google to collect more data after our ads stopped running and became recently active. I will also add more negative keywords to make sure that we are only showing for high-intent searches. This will help us to better target motivated sellers who are more likely to convert. Finally, I will review the performance of our keywords and will adjust bids accordingly to ensure that we are maximizing our reach and optimizing our budget."

Neat! Instant productivity gain for our team (less time writing, more time managing), and clarity gain for our clients (numbers explained in plain English).

There are a few small caveats I would encourage you to keep in mind, however:

1.) All forms of summarization necessarily leave things out, which can be dangerous:

2.) AI can sometimes "hallucinate" (a.k.a., make things up).

In order to avoid GPT "improvising" data that isn't actually there, I have since added the following text to the prompt I show in the video:

"In the event that all of the data is not provided, please state that the data is missing and do not include any estimates or assumptions in the report."

Of course, no post on GPT would be complete without the pre-requisite screenshot of me asking GPT about itself, so here you go:

By the way, I'm looking to get started doing automation/Zapier consulting, so if you're interested, feel free to hit me up.

Dan | @danbarrett316

Subscribe to receive the latest posts in your inbox.