czarto / adwords-scripts Goto Github PK
View Code? Open in Web Editor NEWGoogle Ads Bidding scripts
License: MIT License
Google Ads Bidding scripts
License: MIT License
If a setting is already at an average position, do not increase bids.
Currently bids are adjusted based on the Desktop conversion rate. This causes an underbidding scenario.
Bids should be adjusted based on the average converasion rate. This will cause Desktop bids to be increased, and mobile bids to be decreased.
If you have the DECREASE Threshold set to 2, and there is a location that has a single conversion but a very high cost, above your max cost, adjust the bids downwards anyway, as if it had hit the conversion threshold.
Getting some bid increases where it clearly wouldn't / sholdn't have. Need better logic on this.
The bids for low volume keywords will often remain stagnant due to conversion volume being below the threshold. But sometimes, these keywords fall below the first page bid or top of page bid.
So, for any keyword that is below top of page bid but has at least 1 conversion, increase bid to MAX( top page, max bid).
For any keyword with zero conversions that is below first page bid, but cost < 10% of max CPA, increase bid to first page bid.
Start with 7 day look-back window
For each keyword, compare performance vs AdGroup performance
If statistically significant difference, adjust bid (by 10%?) + flag/unflag keyword so it is not processed in next iteration
Repeat with 14, 30, 60, etc... windows and only process statistically significant keywords that were not processed yet
** File **
Adwords-Scripts/device-bid-adjustments.js
Desctiption
If a particular device does not have enough conversions to trigger a bid adjustment, but the cost is "high", then lower the bid anyway.
Proposed Solution
Set a user definable "COST TOO HIGH" threshold at which to trigger the bid reduction.
Alternatives
Is there a way to infer "COST TOO HIGH" from past conversion data?
Once everything is done, do a scan of all adgroups / keywords and make updates where necessary.
Search Campaign > AdGroup > Audiences > Demographics
Age & Gender
This would allow us to have a more real sliding time scale. We would basically only make a single bid adjustment based on the most recent statistically significant time range.
Clear keyword flags
Start with a 7 day lookback window
-- For each keyword:
----- Compare keyword performance vs AdGroup performance
----- If statistically significant difference, flag (or unflag) keyword so that it is not processed in a later scan.
Repeat with a 14 day lookback, 30 day, 1 year, etc...
Clear keyword flags
Ability to set a maximum for bid adjustments. SImilar to how Enhanced CPC bidding works, where the most they will boost is by 35%.
** File **
Adwords-Scripts/device-bid-adjustments.js
Desctiption
I think a more relavant bid adjustment would be based on Conv. Value / Click instead of Conv. Rate.
Should give the option to choose which column to adjust on.
Proposed Solution
Either use the Column name string that can be concatenated into the query, or use a flag of some sort.
Either have a loop for various tags within the script, or perhaps better add an "INCLUDE" tag, and just have duplicated scripts for various target CPAs.
Probably based on a 1 year lookback window
Break out into it's own script.
Since the daily data takes 1 week to change, no point updating every day. Unless we are dealing with longer time period maybe??
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.