Google Ads monitoring/script idea... competitor alerts

Joined
Apr 18, 2024
Messages
18
Likes
6
Degree
0
So, trying to have an open discussion if I'm going down a never-ending rabbit hole OR is there a viable, useful solution that can help an account keep performing well.

I was trying present this problem/idea to AI:

Let's say a google ads campaign and ad group are running for 12 months and are performing at a 100% ROI every month and without any changes that I made, the campaign dropped to 70% ROI without any seasonal changes, economy did change, no external macro changes. The only reason can be is the competition and competitors had made changes. What exactly and how would I see in these competitor metrics change, that can alert me or show signs of the drop in ROI before it actually happens?

NOTE, to keep things on topic and specific for this case:
1) The account, campaign, or ad group will not have any changes.
2) No need to worry about keywords or targeting, as the past year has been perfect, every month.
3) consumers are not changing their behaviors.

AI Output:

These examples will help illustrate how to interpret significant shifts in the metrics and what they might mean in terms of competitive dynamics.

1. Overlap Rate​

Metric: Overlap Rate
Example: Last month, your overlap rate with Competitor A was 35%, but this month it has increased to 50%.
Interpretation: This increase suggests that Competitor A's ads are now appearing in the same auctions as yours much more frequently than before. This could mean they have expanded their keyword list to include more of the keywords you are bidding on, or they have increased their budgets, pushing more aggressively into the markets you serve.

2. Outranking Share​

Metric: Outranking Share
Example: Previously, your outranking share against Competitor B was 60%, but it has now decreased to 40%.
Interpretation: A drop in this metric indicates that Competitor B’s ads are now appearing above yours more often than they used to. This might be due to Competitor B increasing their bid amounts or improving their ad quality scores, which enhances their ad rank.

3. Position Above Rate​

Metric: Position Above Rate
Example: You notice that the position above rate for Competitor C has gone up from 20% to 45% over the past few weeks.
Interpretation: This change implies that Competitor C’s ads are now more frequently displayed above your ads when both are shown. It could be a result of Competitor C employing higher bids or having enhanced the relevance and performance of their ads.

4. Search Lost IS (Rank)​

Metric: Search Lost IS (Rank)
Example: Your Search Lost IS (Rank) has increased from 10% to 25%.
Interpretation: An increase in this metric indicates that you are losing more impressions due to poor ad rank. This could be because competitors are improving their ads' relevance or bidding strategies, directly impacting your visibility and potential ROI.

5. Search Exact Match IS​

Metric: Search Exact Match IS
Example: Your Search Exact Match Impression Share has decreased from 75% to 55%.
Interpretation: This decrease suggests that competitors are possibly bidding more aggressively on the exact keywords you are targeting, or they have improved their ad quality for these keywords, resulting in them capturing more of these valuable impressions.

Monitoring Strategy​

To effectively monitor these changes, you could set up alerts in Google Ads to notify you when any of these metrics change by a predefined threshold, such as a 10% increase or decrease. Regularly reviewing these alerts and the detailed Auction Insights report will enable you to keep a pulse on competitive movements and their potential impact on your campaign performance.

These examples and interpretations should give you a clearer picture of how to use competitive metrics from Google Ads to preemptively identify shifts in the competitive landscape that might affect your campaign’s ROI.



=========
Back to my discussion, idea.
Has anyone tried to create a script to provide such alerts at an account, campaign or ad group level?
Did it work? Does it help?

OR maybe you think it is great idea and would work?
OR maybe you already know that this is great theory, but doesn't work in reality as too many variables.

thanks :smile:
 
And this is the problem with thinking Ai can solve or replace people anytime soon.

You can set up alerts all day long, for weeks on end, to prompt you to these changes.

But it doesn't mean a competitor did something on their end, to outrank you.

If Google Ads algo changes up for XYZ reason, you could start getting less of everything that has nothing to do with your competitor doing something on their end and outdoing you.

The mere fact Google changed something, could cause all of that to happen while your competitors did 0.

Also, the economy changing and people heading into a recession is a big red flag and people are buying less. Just check out car sales right now as a indicator to the economy and people's fears.

1. consumers are not changing their behaviors - I see it across multiple large accounts
2. The account, campaign, or ad group will not have any changes. - Maybe not from you, but Google's own changes to your account via their algo will cause you to lose
3. No need to worry about keywords or targeting, as the past year has been perfect, every month. - and this is why doing nothing and thinking things will be the same is a bad plan. You will need to adapt because of #2 and #1 above.

You can't rest on your laurels.

This is why people like me ( by myself ) can run circles around a team of 30 combined SEM's. Why I can spend multiple millions weekly during a COVID lockdown and scale an account from $55m to $125m while everyone else is going bankrupt in the world and pulling back their ad spends.

You looking at this this the wrong way.

To answer your question, yes scripts like this are out there. I've created some on my own. They work on a % of change and email you, or show the change in a weekly report.

However, this doesn't mean the competitors did something.

Truth be known, just looking at your CPM/CPC.. ROAS.. CPA and internal numbers ( like NC CPA, etc ) can tell you everything.

Also of note, ROAS is about the worst metric to look at for ecom. It's a fake number to begin with, especially moreso if you have any other marketing channel ( like Direct, social, email, etc )
 
Hi @eliquid , great reply (again) :smile: Thank you.
I agree with everything and understand the reasoning, etc.

My "faults/false statements/ incorrect logic, etc", not that they are horrible, but rather it's a learning process? You try something and learn what is good and what is bad/false.


Yikes. where to start first? (note: I have several years of google ads experience, yet understand others know WAY more than I do.)

Okay, I've already started (meeting you!!!)
and I'm understanding (more now)...
==> changes ARE happening... faster than before, whether I see them or not. :smile: In reality, that has always been the case :smile:

==> I was thinking negative term list is a best place to start?
I have and tweaking a google ads ngram script, with the idea it is or can be tweaked for EACH account that it's run on. I know how to code and GPT is providing the lines of code for me:

The script processes Google Ads search query data to generate n-gram (unigram, bigram, trigram, quadgram) metrics and writes them to separate sheets in a Google Spreadsheet. It also calculates and displays the total impressions, clicks, cost, and all conversions at the top of each sheet.

Key Steps:​

  1. Setup and Initialization:
    • Connect to the specified Google Spreadsheet.
    • Initialize separate sheets for unigrams, bigrams, trigrams, and quadgrams with appropriate headers.
    • Define a list of safe words to exclude certain search terms.
  2. Fetch and Process Data:
    • Retrieve search query data from Google Ads for the specified date range.
    • For each search term:
      • Skip terms containing any safe words.
      • Generate unigrams, bigrams, trigrams, and quadgrams.
      • Aggregate metrics (impressions, clicks, cost, all conversions) for each n-gram.
  3. Calculate Totals:
    • For each type of n-gram, calculate the total impressions, clicks, cost, and all conversions.


Tweaks per account:
- safe words
- time period
- account as a whole or specific campaigns/ads groups

Do you think this ngram script is a good direction to go? Good as in a valuable way to increase ROI.
If yes, a HUGE question I have, the rule(s) on how to decide: yes or no for negative?

- It is obvious for certain terms/impressions
- for others that are related/similar... maybe you just give it MORE data, then you will HAVE the answer

OT question:
i'm assuming you use all 3 match types, it just depends on the account and the goals?

thank you for your time!!!!!
 
with this script, I believe I can get it to do what I do manually.
But manually is hard, time-consuming, I miss things/make mistakes... AND no way can I compute the "rules" needed to provide the best or highest ROI possible.

Rules and/or realtime alerts like:
- when ROI falls X %
- a specific ad or ad group or product ROI falls X %
- specific search term or variations of a term, the ROI falls X %
- ABC term produces X% ROI and 123 term produces Y% ROI, now should you make a change???


:smile: is that pie-in-the-sky thinking OR you might have already done it?

if I'm correct, you have already done it :smile:
 
I would not build a script that does this automatically.

What I mean is, build the script and have it output to google sheets, and then you go into the sheet and find the worst keywords and you negative match them manually.

If you try to automate the finding, selecting, and inserting.. you will end up regretting it at some point in the future.
 
oh.. true... that is what I'm working on. My goal is to NOT have it "automatically" add a negative word to the google ads list, BUT (my goal) is to have the script do all the "work" for me.

so I can see the candidates for what term "could" be a negative term.
show me the reasons how/why the term "should" be a negative term.

I agree, not completely automated, as something could and would go wrong :smile:

BUT I'm guessing, you agree, this type of script is a great thing to get working, correctly?

I extremely value your opinion and thoughts. The research and knowledge I've done...
tells me... you are one of the people I should listen to :smile:

thank you.
 
Don't argue.
Listen. He's so right its painful on this one.
Hi, sorry.
I didn't mean or try to come across as arguing. I 100% agree with eliquid. I was hoping to get some clarification on the prior post. I completely agree that an all-automated script will create problems.

I will ask for clarification like this. In the script, there are 4 parts:
1. only writing to a google sheet.
2. using some logic with real-time stats on organizing the list(s)
3. testing/knowing/using better rules will help increase ROI in the long run
4. after looking at the processed list, then I decide which terms are added to the real negative list in google ads. This part should not be automated.

Maybe the confusion I created, was questioning the "automation part".

Do you think only automating Part 1?
I wanted to also automate Parts 2 and 3.
I never wanted to automate Part 4.

Thanks!
 
Hi, sorry.
I didn't mean or try to come across as arguing. I 100% agree with eliquid. I was hoping to get some clarification on the prior post. I completely agree that an all-automated script will create problems.

I will ask for clarification like this. In the script, there are 4 parts:
1. only writing to a google sheet.
2. using some logic with real-time stats on organizing the list(s)
3. testing/knowing/using better rules will help increase ROI in the long run
4. after looking at the processed list, then I decide which terms are added to the real negative list in google ads. This part should not be automated.

Maybe the confusion I created, was questioning the "automation part".

Do you think only automating Part 1?
I wanted to also automate Parts 2 and 3.
I never wanted to automate Part 4.

Thanks!

Got it.

Yeah, just have it write to a sheet, include the extra data you want with it ( I don't think it's needed, but you might want it ) and then check for the terms manually.

The problem you are going to run into though is this:

1. What time frame is this valid for? - What a lot of people don't realize is, because of market fluctuations in Google Ads, seasonality, errors on LP's that maybe get fixed, changes in your ad account, etc.... you may run this report and find something to negative without fully knowing why and a reason a metric can't explain to you.

An example might be ( and this is one I am just making up ), the client's LP for a category of their website was off/tracking not working or was a seasonal product. You run this script and negative match those terms.. but once things are fixed you now miss out on sales.

OR, lets say you made sweeping changes to the Ads in the adgroup and then a week later you run this and didn't account for that change that might now be fixing or messing up the bad metric.

OR, you have a 25 day conversion lag ( because your product isn't a knee jerk purchase ) and you don't add that in...

^^ I know mentally you can try to prevent this, but this does happen.

2. Also, lets say you pull a ngram or bigram out and you think.. man this is a slam dunk to exclude.

What you will find is issues in it being valid.

Meaning, a lot of times if you take that ngram or bigram and actually go into your search query report and paste that ngram in or bigram in, the data in the Google UX is different slightly than the data in your CSV report.

I know that sounds messed up, but it happens a ton for various reasons that include whitespace, how google interpets the term, if that term is part of a longer word ( string in a string, etc ). Most of this can be solved with coding, but man.. it will mess you up.

I don't think you really need the extra metrics. Just pick 1 and stick with it.

For example, if your client grades everything on ROAS, or CPA, or downloads, or something else... just only calculate that metric and grade against it. There isn't any real valid reason to also now include impressions, clicks, etc. - I would include COST though so you can safely say, "I havent given this kw enough spend data to show statistical relevance yet"

You could grade it on impressions, but COST is a better metric ( I feel ).

Then that way you are only really looking at data in the end where you have at least spent X dollars, over X time frame, where Xgrams are over X CPA/ROAS/Conversion Event

I keep it really simple.

For a lot of mine, I'm looking at multiple time frames ( at once ) to ensure seasonality and LP issues/tracking issues are weeded out... where I have spent at least $500 ( thats just a number I use ) in that time frame... and the Xgram is doing less than 2.5 ROAS ( again a number I use ) or is 2-3x over CPA goal ( again a number I use ).

Once I have those narrowed down, I then go into the Search Query Report ON GOOGLE, with the time frame I wanna use, and I paste in BY HAND each of those X-grams and I make absolutely sure the data is correct in the results. Sometimes I have to add a space before and ALSO after the X-gram.

You want to triple check this shit.

I can't tell you how many times this last step has saved my ass.

For example, lets say the X-gram is "rush" as in rush shipping. You find out thats poor performance because your company/client doesnt offer that.

You put this in the SQR and notice depending on match type, you might be negative-ing out the word terms like "crush" or "brush", and your main product is a brush you sell.

You'd be fucked up my friend.

This actually is a lot larger issue that would be too much for me type here.. but just know you need to check this shit before you do the negative and plan accordingly once you get the data back from the Google UX in the SQR.

Also with the way Google does matching now, you just never know if the word you are putting like "wood paintings" is going to negative out your "brush" term. I swear I have seen this happen in real life. You just want to take this step delicately and really think it out which terms you negative and the match type for it.
 
thank you very much eliquid. that reply is just fantastic!!!!!!
I love the details and explanations, tips. It screams "been there, done that" :smile:
thank you for sharing!

this whole thread has been awesome.

a question: you mentioned, your looking at terms over multiple time periods at once.
Have you seen a difference in grouping them to compare the groupings?
In my head, it seems if you have more months to look at or use, then pick a longer, wider time period. I'm not understanding the benefit of looking at 6 individual months, if you can look at one grouping for 6 months.

Thinking, new accounts, they need more time (and data). BUT if you have an old account, with lots of data... isn't more time always better?

oh, never mind... I think I just answered my own question because a "search term" could be seasonal. for example: IF you ONLY look at long time periods, you would never see it. The average would be okay, but looking at many, smaller time periods... you would THEN see it.
 
Hi @eliquid :smile:
I'm loving my progress of my ngram script. With accounts with lots of history, I can see things I've not seen before, in a way that is almost mind-boggling.

Do you believe, with time and the correct (negative words and conversion tracking), you can get a google ad campaign to do exactly what you want with broad match?

Thank You!!
 
A specific type of question....
I see a single term that produces a majority of conversions, however,
The roas isn't as high as other terms (which have less conversions). IMO, that single best term, has inefficiencies with it. Do you think it is possible to find and remove those inefficiencies?

It makes sense to me, how and why, "sculpting" could and should work? BUT I've never done it like this or to this scale.
 
thank you very much eliquid. that reply is just fantastic!!!!!!
I love the details and explanations, tips. It screams "been there, done that" :smile:
thank you for sharing!

this whole thread has been awesome.

a question: you mentioned, your looking at terms over multiple time periods at once.
Have you seen a difference in grouping them to compare the groupings?
In my head, it seems if you have more months to look at or use, then pick a longer, wider time period. I'm not understanding the benefit of looking at 6 individual months, if you can look at one grouping for 6 months.

Thinking, new accounts, they need more time (and data). BUT if you have an old account, with lots of data... isn't more time always better?

oh, never mind... I think I just answered my own question because a "search term" could be seasonal. for example: IF you ONLY look at long time periods, you would never see it. The average would be okay, but looking at many, smaller time periods... you would THEN see it.

I generally pull the multiple dates for all the terms.

So I might pull 30 days, 90 days, 180 days.

I'm looking at all terms in each.

I'm looking for all of them over my goal, that are also over my ad spend threshold.

So a term might be over goal and over ad spend, on the 180. The same term might be over for 90 and 30 days.

^^ I know im removing that term for sure since it was the same on all 3 time frames.

however, I might have a term over on the 180 and over on the 90... but actually now doing well on the 30 day. I might keep this one running because the recent date shows it is now improving.

There could be 30 reasons why it's improving now. Seasonality, changes in price or the LP, changes I did in the campaign like adjusting ROAS goals in Google, etc.

I don't know ( atm ), so Im going to let it slide, but keep an eye on it.

Hi @eliquid :smile:
I'm loving my progress of my ngram script. With accounts with lots of history, I can see things I've not seen before, in a way that is almost mind-boggling.

Do you believe, with time and the correct (negative words and conversion tracking), you can get a google ad campaign to do exactly what you want with broad match?

Thank You!!

No, Google is constantly changing.

So in 1 way, I get what you are saying and thinking.

But things are always changing in the backend of Google.

I have campaigns I have been putting negatives in for 10 years and I am still finding things to negative in that same campaign today.

A specific type of question....
I see a single term that produces a majority of conversions, however,
The roas isn't as high as other terms (which have less conversions). IMO, that single best term, has inefficiencies with it. Do you think it is possible to find and remove those inefficiencies?

It makes sense to me, how and why, "sculpting" could and should work? BUT I've never done it like this or to this scale.

A lot of people are going to raise an eyebrow on my advice here and many will not like it.

But I don't squeeze blood from a turnip.

The problem most media buyers get into, that wrecks their accounts is something I call, "doing too much, too soon".

It's basically getting in there, thinking you always have to improve... and thinking you need to do it all the time.

And what you are describing, is what leads people down that road.

The goal should be:

1. Find your most important metric. The thing you are going to live and die by. Maybe that is ROAS, maybe that is CPA, maybe that is NC CPA. Whatever it is, it needs to be something Google can adjust to... so LTV would not be a metric you would want since Google can not adjust to that in the campaigns.

2. It can only be 1 metric you live and die by. It can not be ROAS and then CTR. It can not be CPA and ROAS. You can always "look" at another metric, but you can not judge by another ( meaning you can not judge by 2 metrics ). It has to be 1.

3. On the metric you choose, only look at the bended result. Not the specific and defined results. It must be blended.

4. If the blended is fine, dont start cutting shit drastically or adding shit like new ads drastically.

5. My accounts that scale and grow the fastest, with the highest ROAS or lowest CPAs, are all the ones I hardly touch anymore. Meaning, I maybe add/do changes 1 time a week to them.

6. Knowing what to change, and when to actually change things, is more important than trying to sculpt out inefficiencies when you spot them.

7. Pigs get fat, hogs get slaughtered.

8. If a client is pushing for more and more and more, you need to educate them and set their expectations in the other direction.

9. If you know anything about copywriting, ads management is a lot like copywriting. Less is more. A good copywriter can say more in 10 words than a bad copywriter that wrote 1000 words. Make sure your Change Log looks more like the 10 words than the 1000 words.

10. The more you cut away today, the more you are going to leave on the table as far as total conversions. And you might say, you only want higher ROAS conversions though and not the lower ROAS ones...

And I would tell you, ROAS is a fake number to begin with.. so why are you trying to aim for that anyways?

ROAS is also not how you scale a business or company, which is what your client wants anyways honestly.

ROAS is fake and I can prove it to anyone at anytime. Even if it was a real number, its not how you grow a business or scale a company with paid ads anyways.

There is a double negative in ROAS.

Now, if you are working for an agency and your boss tells you, "hey Larry, we need ROAS and the client want's ROAS and we get paid on the ROAS" - then yeah, of course.. do what you gotta do and focus on ROAS.

But if this if for yourself or, you are 1x1 with the client and have good relationship with them... don't ever do anything based on ROAS.
 
Last edited:
Damm... I LOVE this thread!!! :smile: Thank you again for your time.

I agree and understand almost all your statements. Some of them I've been doing or thought about them in the past (as in realized them) while managing an account.

My takeways:
1) pick or use 1 metric per account or per campaign. I generally do that, but see clearly now... NOT doing that brings up confusion or doubt.
2) I understand ROAS is made up, and know there are better metrics to use. ROAS can be great for reporting and can be horrible for the company advertising. But yes, its a simple metric to see in the reports.
3) WOW... this is just perfect, thanks for pointing this out so simply :smile:

If you know anything about copywriting, ads management is a lot like copywriting. Less is more. A good copywriter can say more in 10 words than a bad copywriter that wrote 1000 words. Make sure your Change Log looks more like the 10 words than the 1000 words.

==> gives more/better value that the initial setup is key

New Question:
the blended metric, can you define that more?
a) blend from different platforms?
b) blend in a metric from the ad account data AND real numbers from the business (use order value and/or offline conversions)
c) both A and B :smile:

eliquid, thank you again
 
blended metric:

It's kinda both A and B. But the depends on the relationship you have with client.

I have 1 client, they only care about ROAS. So my blended is the total account ROAS average for Google Ads. I don't get too much into specific campaign, keyword, or Ad ROAS if the account average is good.

The reason? Most times the low ROAS campaigns/terms/Ads are also the lowest spenders in my setup, so it's not a drag on the account to begin with. The higher spenders are the higher ROAS so even if I did make a change in the low ROAS campaigns, the change wont be "felt" because the spend on those is 10x less anyways.

However, I have another client. Client #2 --

They care about New Customer CPA. ROAS is not something they care about ( but they do look at it ). However life and death is on the NC CPA. Something Google doesn't do well to begin with and most campaigns prior could not optimize for.

So I have to use real numbers for the business and also use 3rd party tools like TripleWhale.

The blended in this client, is the business numbers and TripleWhale reporting.

However, this can cause issues for ad management, because the business numbers can say NC CPA is great, TripleWhale might say they are awful, but nothing you can do in Google Ads will impact the NC CPA since most times, Google can't algo shift to that anyways ( until recently with PMax and recently for other campaign types ).

So it just depends on client and what you are going for.

I'll give you a tip though.

-- Most times your worst ROAS and worst CPA campaigns, are driving your new customers.

Think about that for a while and see if you can tell why.
 
reasons why:
1) time frame: new customers take longer to become a customer, while returning customers show up in shorter time OR repeat buyers spike a ROAS. Obviously, this depends on what the account goal is and/or doing, how it counts conversions.

2) Brand terms or high intent terms are for people at the end of the buying process (metrics are higher). New customers are just beginning and performance is harder to come by, in terms of simple metrics of ROAS or CPA, so they are lower.

3) google can't figure out who is new or existing/returning customer. :smile: Or maybe this isn't part of the question/answer, but I've read about the PMax setting for customer acquisition, don't turn on acquiring new customers.

how are those answers? Close?

Thanks again, and I appreciate the explanation of blended.
 
Hi @eliquid ,

This came from google gemini ... as I've using chatGPT and Gemini to make some scripts.
Learning process, curve, frustration and excitement all day, every day :smile:

- having trouble getting the conversion value per query
- the google UI shows it to me, why can't the API
- when I do get results that some fields are the same, but not all are the same... if some, why not all?


anyway, Gemini was responding this:


Unfortunately, Google Ads UI doesn't explicitly calculate or display conversion values at the search term level. The "Conversion Value" column in the Search Terms report only reflects conversions attributed to search terms that directly led to a conversion action. It doesn't show an estimated or distributed conversion value for search terms that might have contributed to a conversion but weren't the last click.

Why doesn't Google Ads directly provide this metric?

  • Attribution Modeling Complexity: Attributing conversion value to specific touchpoints in a user's journey is a complex task. Google Ads uses attribution models (like Last Click, First Click, Linear, etc.) to assign credit to different interactions. However, determining the exact contribution of a search term that wasn't the final click involves assumptions and can vary significantly depending on the chosen attribution model.
  • Data Limitations: Google Ads primarily focuses on attributing conversions to directly measurable interactions like clicks. While it's possible to track view-through conversions (impressions that led to a conversion later), accurately tying back a portion of the conversion value to specific search terms viewed can be statistically challenging and unreliable.
What does this mean for you?

  • No Single Source of Truth: There's no single, accurate conversion value for search terms within the Google Ads interface.
  • Estimation and Modeling: If you want to understand the potential conversion value driven by different search terms, you'll need to employ estimation methods like the ones discussed previously (correlation analysis, campaign-level distribution, etc.).
  • Focus on Trends and Insights: Instead of fixating on precise conversion values for search terms, focus on identifying trends, patterns, and relative performance. For example, you can analyze:
    • Search terms with high click-through rates (CTR) or low cost-per-click (CPC) as potential indicators of valuable searches.
    • Search terms that frequently appear in conversion paths, even if they aren't the last click, to understand their influence.
  • Experimentation and Optimization: Use the insights from your analysis to guide keyword bidding, ad copy optimization, and landing page improvements to enhance overall campaign performance.
Remember, while a direct conversion value metric for search terms would be ideal, it's essential to work within the limitations of the available data and focus on deriving actionable insights to improve your campaigns.


=====> with all that said, the GOOGLE UI tells me an exact conversion value per term.... so that is a made up lie?
 
too funny...
after more questions:

Key Points & Explanation:

  • Accurate Conversion Value Retrieval: The getSearchTermData function now retrieves the metrics.conversions_value field directly from the Google Ads API using the search_term_view table. This field provides the accurate conversion value attributed to each search term based on your chosen attribution model in Google Ads.
  • No Estimation Needed: Since we are getting the accurate value directly, there is no need for the estimateConversionValues function from the previous incorrect versions of the script.
  • Simplified Code: The code is now more concise and accurate as we've removed unnecessary estimation logic.
 
Hi @eliquid ,

This came from google gemini ... as I've using chatGPT and Gemini to make some scripts.
Learning process, curve, frustration and excitement all day, every day :smile:

- having trouble getting the conversion value per query
- the google UI shows it to me, why can't the API
- when I do get results that some fields are the same, but not all are the same... if some, why not all?


anyway, Gemini was responding this:


Unfortunately, Google Ads UI doesn't explicitly calculate or display conversion values at the search term level. The "Conversion Value" column in the Search Terms report only reflects conversions attributed to search terms that directly led to a conversion action. It doesn't show an estimated or distributed conversion value for search terms that might have contributed to a conversion but weren't the last click.

Why doesn't Google Ads directly provide this metric?

  • Attribution Modeling Complexity: Attributing conversion value to specific touchpoints in a user's journey is a complex task. Google Ads uses attribution models (like Last Click, First Click, Linear, etc.) to assign credit to different interactions. However, determining the exact contribution of a search term that wasn't the final click involves assumptions and can vary significantly depending on the chosen attribution model.
  • Data Limitations: Google Ads primarily focuses on attributing conversions to directly measurable interactions like clicks. While it's possible to track view-through conversions (impressions that led to a conversion later), accurately tying back a portion of the conversion value to specific search terms viewed can be statistically challenging and unreliable.
What does this mean for you?

  • No Single Source of Truth: There's no single, accurate conversion value for search terms within the Google Ads interface.
  • Estimation and Modeling: If you want to understand the potential conversion value driven by different search terms, you'll need to employ estimation methods like the ones discussed previously (correlation analysis, campaign-level distribution, etc.).
  • Focus on Trends and Insights:Instead of fixating on precise conversion values for search terms, focus on identifying trends, patterns, and relative performance. For example, you can analyze:
    • Search terms with high click-through rates (CTR) or low cost-per-click (CPC) as potential indicators of valuable searches.
    • Search terms that frequently appear in conversion paths, even if they aren't the last click, to understand their influence.
  • Experimentation and Optimization: Use the insights from your analysis to guide keyword bidding, ad copy optimization, and landing page improvements to enhance overall campaign performance.
Remember, while a direct conversion value metric for search terms would be ideal, it's essential to work within the limitations of the available data and focus on deriving actionable insights to improve your campaigns.


=====> with all that said, the GOOGLE UI tells me an exact conversion value per term.... so that is a made up lie?

too funny...
after more questions:

Key Points & Explanation:

  • Accurate Conversion Value Retrieval: The getSearchTermData function now retrieves the metrics.conversions_value field directly from the Google Ads API using the search_term_view table. This field provides the accurate conversion value attributed to each search term based on your chosen attribution model in Google Ads.
  • No Estimation Needed: Since we are getting the accurate value directly, there is no need for the estimateConversionValues function from the previous incorrect versions of the script.
  • Simplified Code: The code is now more concise and accurate as we've removed unnecessary estimation logic.

The numbers wont be accurate anyways, in the UI or the API ( if it did report ) based on a ton of reasons.

The simplest way to prove it though, run ads on Google for $10k for June.

Run ads at Facebook for $10K for June

Run ads at TikTok for $10k for June

You spent $30k, right? - the number here isnt important, it's just an example.

Now go look in your Shopify Store or internal BI tool. Oh you made $60k. Awesome. Thats a 2 ROAS.

Go into Google, Facebook, and TikTok and add up the revenue they claim you made from their UI or API. It will show $110k - wut?

That's a 3+ ROAS

But that aint the money you got in the bank, or in Shopify, or even in orders.

While true, we have more than 1 platform here, if you only ran Google.. you would see the same thing. Google would show you had revenue from them of $50k, when in fact if you check your bank account/merchant account, or Shopify.. . you only have $35k in orders/money.

It's never right, it's all an estimate..
 
yes...
1 KPI.
Keep it consistent (don't change it, so the apples-to-apples comparison will or should always be true).

Figure out how to get the "real" or "actual" ROI and "tie or correlate it" to the KPI above.
Real = what your bank account says :smile:

Without relating the actual bank account number(s), any platform number is not valid, accurate, or meaningful for real marketing/advertising ROI.

@eliquid,
so... the above is 100% absolute truth, right?
if you agree, this below is also true:

No need to complicate it.
Don't try to complicate it by adding more columns or more numbers.
Adding more 'details' will not help improve ROI.
 
yes...
1 KPI.
Keep it consistent (don't change it, so the apples-to-apples comparison will or should always be true).

Figure out how to get the "real" or "actual" ROI and "tie or correlate it" to the KPI above.
Real = what your bank account says :smile:

Without relating the actual bank account number(s), any platform number is not valid, accurate, or meaningful for real marketing/advertising ROI.

@eliquid,
so... the above is 100% absolute truth, right?
if you agree, this below is also true:

No need to complicate it.
Don't try to complicate it by adding more columns or more numbers.
Adding more 'details' will not help improve ROI.

1. Yes, dont complicate it
2. Dont add more columns or numbers, thinking it will help ROI
3. More details tends to not help

However, I also look at it as a sliding scale.

1. If I am only running 1 ad platform ( Google or Meta, etc ) - then all the ROI/CPA/ROAS/REVENUE numbers are going to be off by the same % on all campaigns. Since Google or Meta only uses it's info to optimize on ( and not your bank account numbers ).. I'm OK with using those Google GUI numbers for optimization, knowing they may be 20% off on platform at Google.

I'm still going to judge my business on bank numbers, but campaigns on Google's numbers if it's only 1 ad platform I run.

2. If I am running now 2+ ad platforms, I'm going to install something like GA4, TripleWhale, Hyros, etc and use that and only that tool for judging my campaigns. Google will still optimize on Google, Meta on only Meta, but because these ad platforms relate to each other in driving customers, Im going to judge ROAS/ROI/CPA/Revenue on the 3rd party tool and edit campaigns based on that.

However, it is still true adding more columns ( with the 3rd party ) or making it more complicated will not improve ROI - most times.

Relying on Google alone, or on the 3rd party will still show incorrect numbers ( to a degree ), but the goal is if it is off and wrong, layer into your operation where it's wrong/off the same % across everything so it's all the same/treated the same. Because you will never have 100% accurate attribution in tracking.

The only time you may want to add in more details is if you need to "story tell" your clients about your performance.

Example: "The ROAS is low, but CTR and CVR is high.. suggesting we are doing everything right on with positioning and copy on the ads and landing page, and price points.. but the price we are paying to get the click is too high and we might want to try a cheaper option like a different country, platform within Google ( display or youtube instead of search ), or run at different hours of the day when competitors might not be advertising."
 
Back