Code analysis · September 2026

Google Ads deep dive

How Google Ads reads the site, links pages to queries, generates creatives and prepares the auction.

We analysed the Google Ads app’s code and how its web interface works. We then compared our findings with Google’s public documentation and evidence from the antitrust trial.

The study sheds light on how Google Ads uses AI: 88 types of scores for evaluating ads, queries linked to pages through NavBoost and QBST, and website content prepared for language models. It helps explain what happens between your landing page and the ad that appears.

URL page content business profile queries assets matching auction
Powered by RESONEO

A Search campaign connects a query, a keyword, an ad and a landing page. Analysing the Google Ads code reveals the many steps involved in bringing them together.

Google Ads fetches pages and extracts their headings, text, images and structured data. It prepares this information for AI, connects it with business information and search queries, then uses it to create, check and select assets.

Landing pages have long played a role in Dynamic Search Ads, targeting without keywords and the experience after a click. This study details capabilities found in the code: storing page content, preparing it for AI, creating ads with AI Max and checking that their claims are supported by the website. It also reveals assistants that can prepare campaign changes.

The calendar explains the timing of this study. AI Max for Search left beta on 15 April 2026 and AI Brief was announced on 30 April. Since 1 September, campaigns that used campaign-level broad match or the legacy text customization are switched to AI Max automatically; the end of Dynamic Search Ads, first planned for the same date, has been pushed back to February 2027. What this text describes is becoming the default regime of Search campaigns.

Your website gives Google Ads the information it needs to create and check your ads.
How to read this

This study compares two versions of the Android app and the web interface with Google documentation, patents, research papers and antitrust trial evidence. The technical names quoted appear in the app or web interface. Connections between features are reconstructed from these observations and public sources. The code does not reveal all of Google’s settings or which features are enabled for each account. Technical details are available in the “View technical details” panels and the appendix.

Six takeaways

01

The site informs the ads

Google Ads fetches page content and prepares it for AI.

02

A view of the business

The system links website, Merchant Center, Business Profile, YouTube and social profiles.

03

AI Max prepares ads

Pages, queries and the brief help create, assess and select ad text.

04

Creatives are checked

Ad text is assessed for relevance, quality and consistency with the website’s claims.

05

Four different functions

Create ads, match them to queries, calculate bids and help manage campaigns.

06

The ad must follow the answer

In AI Overviews it must match the query and the content of the generated answer.

Table of contents

1 Google Ads reads the site 2 Connect the business with searches 3 How AI Max prepares ads 4 Create, check and select ads 5 Matching, auction and diagnostics 6 AI search, Shopping and assistants 7 What to change in your campaigns and website 8 What to watch 9 Method, sources and appendix
1

Google Ads reads the site

Crawl pages, collect their content and prepare it for ads.

To select an ad, Google Ads needs to understand the offer on the page. The app’s code supports several steps: fetch the page, check that it is accessible, store its content in a database used by Ads, then prepare it for AI.

Text, vectors and estimates such as click probability are produced on Google’s servers. Vectors represent content as numbers so its meaning can be compared with other content. The app reveals the information sent to Google, the results expected and the checks planned. It does not reveal the full workings of the AI models.

Fetch pages and check access

Several functions in the code handle crawling, updating page content and checking URLs.

Google Ads can fetch page content, check that it is usable and update it. The code also includes a landing page content database, named LANDING_PAGE_REPOSITORY, and tracks whether a page is available for asset creation.

The ASSET_GENERATION_STATUS_URL_NOT_INDEXED message indicates that a page is missing from the database used by Ads. It does not describe its presence in Google’s organic search results. A page can therefore be stored in one system without being stored in the other, even if the two share some data.

View technical details
ads.awapps.anji.proto.express.urlfetcher.UrlFetcherService ads.awapps.anji.proto.express.urlsyncer.UrlSyncerService ads.awapps.anji.proto.express.urlvalidation.UrlValidationService ads.awapps.anji.proto.express.websitesignal.WebsiteSignalService ads.awapps.anji.proto.infra.visurl.VisurlService feature flag : AWN_CM_EDITING_WEBSITE_SIGNALS_DEEP_CRAWL
AdsBot

Google uses dedicated crawlers to check the quality of advertising pages. Those bots ignore the generic User-agent: * rule in robots.txt. They have to be allowed or blocked explicitly under the names AdsBot-Google and AdsBot-Google-Mobile. A page that is technically reachable by Googlebot can therefore fail inside the Ads chain, and the other way round.

Find useful information on the page

The code supports extracting different parts of the page separately.

Google Ads distinguishes the title, description, sections, important passages, text snippets, structured data and images. Each part can serve a different purpose.

The title and business name can help identify the offer. Page text and existing assets can help write an ad. Short versions of pages make it easier to compare them when choosing a URL. The system can also look for the passage that supports an ad claim: this check is called grounding.

Structured data describes the business, products, categories and their attributes in a machine-readable format. Visible text provides explanations and evidence. The two need to be consistent: structured data does not replace page content.

View technical details
LANDING_PAGE_CRAWL LANDING_PAGE_REPOSITORY LANDING_PAGE_METADATA LANDING_PAGE_META_TAG_PROCESSOR LANDING_PAGE_META_TAG_PROCESSOR_LONG_DESCRIPTION LANDING_PAGE_RAW_TITLE_PROCESSOR LANDING_PAGE_SECTION_TITLE_PROCESSOR LANDING_PAGE_SCHEMA_TAGS_PROCESSOR LANDING_PAGE_SALIENT_STUFF_PROCESSOR LANDING_PAGE_SNIPPET_SEGMENT_PROCESSOR LANDING_PAGE_IMAGE LANDING_PAGE_TEXT_GENERATION

Prepare different versions of the content for AI

Page text and information

View technical details
LP_SENTENCES_WITH_HEURISTICS RAW_LP_SENTENCES PAGE_INFO_XML_WITH_URL_TITLE_DESC

Summaries and formatted text

View technical details
LP_SUMMARY_ZERO_SHOT LLM_LP_SUMMARY_V1 … V5 PAGE_MARKDOWN LLM_PAGE_MARKDOWN LLM_PAGE_MARKDOWN_V4S LLM_PAGE_MARKDOWN_V4XS

The code supports several ways to prepare content: combine the business name, title, meta tags, description lists and page text, then shorten the result. Google Ads can therefore create different versions of the content from the same HTML.

These versions help find information, compare pages, give instructions to AI and check the text it produces. Some use Markdown, a simple text format that preserves headings and lists. The purpose is practical: understand the offer, choose the right page and write an ad that reflects its content.

From page content to ad text

The code names the main preparation and checking operations in TransformationName_Enum.

The system gathers information from the page and other sources, then prepares instructions for the AI. It checks the generated text and records which information was used. The list of operations helps reconstruct this process, but does not establish the exact order of every step on its own.

View technical details
READ_PROTO_FIELD_FROM_LLM_GENERATION_DATA READ_CACHE READ_VASCO_SIGNALS READ_ASSETS PROCESS_LP_SENTENCES_FOR_PROMPT PROCESS_TEXT_SNIPPET EXTRACT_XML_ITEMS MULTI_SIGNAL_CONCAT CONSTRUCT_PROMPT PROMPT_INFERENCE EXACT_GROUNDING EXTRACT_ASSET_RATING_CSV SIGNAL_ATTRIBUTION
The landing page presents the offer, informs the ads, supports their claims and welcomes the visitor after the click.
2

Connect the business with searches

Bring business information together and connect it with what people search for.

A reference profile for the business

Names in the code point to a business profile separate from its web pages. It can bring together the business’s identity, category, description, brand characteristics and several content sources.

View technical details
canonical_business_database_id cbdb_listing_id ads.awapps.anji.proto.express.cbdb.CbdbListingService ads.awservices.acqs.business.BusinessSuggestionService ads.awservices.acqs.prefill.PrefillSuggestionService suggested_brand_data.pb.dart business_classification.pbenum.dart batch_business_insights_request.pb.dart

Website

crawled_imageindexed_imagefinal_url_asset_suggestion

Merchant Center

gmc_product_infogmc_asset_suggestiongmc_video_asset_suggestion

Business Profile

google_business_profile_asset_suggestion

Social profiles

social_profilesocial_profiles_asset_suggestion

YouTube

youtube_channelyoutube_channel_video_asset_suggestion

Vectors for comparing content

gemini_embeddingstarburst_embeddingembedding_metadata

Information sources

generation_reference_inforeference_textreference_image

Gemini-related features

BRAND_TRAITS_GEMINIBUSINESS_CLASSIFICATION_GEMINIBUSINESS_DESCRIPTION_GEMINIMEDIA_INDEXING_IMAGES

The AI uses this profile and its knowledge of the products and brand to assess what the advertiser is trying to promote.

For marketing teams, these sources need to tell the same story. Different categories, contradictory descriptions or inconsistent offers make it harder to create ads and match them to the right queries.

Google Ads knows page types, not just URLs

To create an asset, the system can draw on several website pages and other sources. The AdAssistantAssetExtractionSourcePB_Enum list distinguishes pages by their purpose.

Site pages, by function

LANDING_PAGESITE_PAGE HOME_PAGEABOUT_PAGE CONTACT_PAGEWHY_PAGE LANDING_PAGE_REPOSITORYSTRUCTURED_DATA

Sources beyond the website

FACEBOOK_PAGEINSTAGRAM_PAGE YOUTUBE_PAGELINKEDIN_PAGE PINTEREST_PAGETWITTER_PAGE APP_METADATA

Ad history and models

AD_GROUP_CREATIVECAMPAIGN_CREATIVE ACCOUNT_CREATIVEPARENT_ASSET_GROUP_ASSETS CURATED_ASSETSLARGE_LANGUAGE_MODEL_OUTPUT AD_ASSISTANT_REQUEST_POLICY_CHECK

The home, About, Contact and Why-us pages are named separately in the code: HOME_PAGE, ABOUT_PAGE, CONTACT_PAGE and WHY_PAGE. They can therefore provide information for creating ads, alongside the product page that receives the click.

The code tracks each source separately for asset suggestions: the landing page, recent assets, past campaigns, stock images, social networks, Merchant Center or Business Profile. AssetAutomationSuggestionsStatus defines 17 tracking fields, including smartGenaiAssetSuggestionStatus, behind what the interface presents as a single feature.

A vague About page, a missing Why-us page or a social profile that contradicts the website gives Google less useful information for writing your ads.

Which queries help prepare the ads?

Query families

RAW_TOPK_HISTORICAL_QUERIES RAW_TOPK_HISTORICAL_BM_QUERIES RAW_TOPK_HISTORICAL_DIVERSE_QUERIES TOPK_HISTORICAL_QUERIES_LP_GROUNDED RAW_TOPK_KEYWORDS TOPK_KEYWORDS_LP_GROUNDED RAW_VASCO_TOP_QUERIES RAW_TOPK_SEQUOIA_QUERIES

Find new queries

CONTRA SQM_PEER SQM_NEAREST_NEIGHBOR CONTRA_VASCO CONTRA_DSA_SYNONYM BMM_PHRASE_UNIFICATION SQM_ORGANIC_TRAFFIC VASCO_ADGROUP_INTENT_MODEL CONTRA_TOP_KEYWORDS_LLM CONTRA_LLM

The name LP_GROUNDED indicates that the query or keyword is compared with the landing page content. QuerySpec settings define the query source, number of queries, time period and a maximum per ad group. Only part of the available history is therefore selected to prepare ad text.

References to similar queries, synonyms, DSA and broad match concern finding more relevant queries. SQM_ORGANIC_TRAFFIC names a variant using organic traffic information. Combining paid and organic data can support reporting and suggestions; it does not establish that an SEO score enters the Ad Rank calculation.

A keyword helps determine when an ad can appear and with what priority. It can also inform bidding, query expansion, ad creation and reporting.

Source of the match

QueryMatchSourcePB_Enum

What connects the ad to the query

ADVERTISER_PROVIDED_KEYWORD SEARCH_MAX_KEYWORDLESS SEARCH_MAX_BROAD_MATCH DYNAMIC_SEARCH_ADS UBERVERSAL DATA_FEED

Match type

QueryMatchTypePB_Enum

The match type used

EXACTPHRASEBROAD BROAD_SESSIONNEAR_EXACTNEAR_PHRASE BROAD_MATCH_EXPANSIONOPTIMIZED_REACH_KEYWORDLESSUBERVERSAL

The code distinguishes matches based on search context, close variants and matches associated with Performance Max. Reports also retain the match source: AI Max without keywords or AI Max broad match. A dedicated report links each search term to the landing page and ad headline that were served.

View technical details

BROAD_SESSION corresponds to the use of session context. NEAR_EXACT and NEAR_PHRASE describe close variants. UBERVERSAL is associated with Performance Max. The search terms report also keeps the provenance of the match, with the AI_MAX_KEYWORDLESS and AI_MAX_BROAD_MATCH values of the search_term_match_source segment, and the ai_max_search_term_ad_combination_view links each term to the landing page and the headline served.

Public priority rules favour a Search campaign when a query is identical to an eligible keyword. Search Themes have a priority comparable to phrase and broad keywords. The keywordless systems of AI Max, DSA and Performance Max cover the remaining demand.

Do Search Themes bring additional traffic?

Public documentation describes measuring whether a Search Theme brings traffic that Performance Max would not have found on its own. SEARCH_SHADOW most likely refers to that baseline. A rise in reported conversions is therefore not enough: check whether the theme reaches new searches or takes credit for ones already covered.

View technical details
SearchThemeIncrementalityStatusPB_Enum INCREMENTAL_TO_SEARCH_SHADOW NO_DATA_OR_NOT_INCREMENTAL_TO_SEARCH_SHADOW

NavBoost and QBST: queries that help write ads

The code defines several versions of the Coauthor writing functions. Five functions each appear in three forms: without an extra label, with NavBoost disabled (NAVBOOST_DISABLED) and with filtering for rare queries (K_ANON_NAVBOOST). The table preserves their technical IDs.

Function Without an extra label NAVBOOST_DISABLED K_ANON_NAVBOOST
keyword aware19113120
query prefix EN41109116
query prefix I18N42110117
query prefix headline EN50111118
query prefix headline I18N51112119

These names appear among functions that prepare landing pages, queries and ad headlines. They indicate that queries linked to a page can help write ad text.

The antitrust trial describes NavBoost as a system that links queries and documents from memorised click data. A Google patent with a 2004 priority date describes the reverse move: starting from a document, retrieve the queries that led to clicks, then use them as keywords or creative material. The K_ANON_NAVBOOST variant points to filtering meant to keep aggregate behaviour while dropping queries that are too rare.

QBST stands for Query Based Salient Terms. It identifies important words and phrases on pages relevant to a query, also using click data. The names QBST_TEXT_ASSET_SUGGESTION and QBST_ADVERTISER_TEXT_ASSET in WorkflowAssetGenerationKeywordSourcePB_Enum identify it as a source of terms for asset creation.

These findings indicate that queries, page content and click data can help create ads. They do not show that organic and paid rankings are merged.

3

How AI Max prepares ads

The code helps reconstruct the steps from reading the page to creating and selecting ad text.

From website information to ad selection

Names grouped under IDs 226 to 255 in SignalName_Enum refer to the page, reports, text creation, evaluation, selection and the brief. The steps below offer an interpretation.

View technical details
AIM_LLM_PAGE_MARKDOWN AIM_TEXTUALIZED_RESPONSE AIM_QUERY_REPORT AIM_QUERY_REPORT_EXTRACTED AIM_MARKET_REPORT AIM_MARKET_REPORT_EXTRACTED AIM_ASSETS_V1 … V5 AIM_AUTORATER_V1 … V3 AIM_USER_QUERY AIM_SELECTION_V1 … V5 AI_BRIEF_V1 AI_BRIEF_V2_AIMAX AI_BRIEF_V3_AIMAX
01Page and advertiser contextLanding page content, existing assets and business information.
02Query and market reportsHistory, intents, competitive context.
03Prepare information for AIUseful information from reports is turned into text for the AI.
04Create several textsProduce headlines, descriptions and variations.
05Evaluate the textOne AI model evaluates text produced by another.
06SelectionChoose complementary assets to combine in ads.
07AI BriefAdvertiser instructions for messaging, queries and audiences.

The identifiers ADSAPI_SUPPORT_AI_BRIEF_FOR_TARGETING and ADSAPI_SUPPORT_PMAX_AI_BRIEF_FOR_TARGETING connect the brief to targeting explicitly.

The three AI Max features

AI Max for Search was announced in beta on 6 May 2025 and left beta on 15 April 2026. It bundles three features.

Search term matching

Broad match plus keywordless technology based on keywords, creatives and URLs.

Text customization

Headlines and descriptions produced from existing text, the landing page and query signals.

Final URL expansion

Selection of a page that fits the intent, then adjustment of the assets to its content.

The switch is under way. Since 1 September 2026, campaigns that used automatically created assets (ACA) are moved to AI Max automatically with search term matching and text customization switched on. Campaigns that used campaign-level broad match receive only search term matching. DSA campaigns will follow from February 2027, with all three features and their URL controls preserved.

The app includes AI Max settings at campaign and ad group level, plus URL inclusions and exclusions. The ai_max_search_term_ad_combination_view report links a search term to the landing page and ad headline that were served.

query or intent + matching creative + page judged relevantThe three elements Final URL expansion brings together to serve an ad.

Final URL expansion uses the site architecture

A page that is hard to find, poorly linked or unclear about its offer is harder to select. A well-structured category, service or service-area page can answer a search more precisely than a generic page.

Prerequisites before broad rollout
  • Final URL expansion depends on Text customization and on a conversion-oriented Smart Bidding strategy.
  • URL exclusions and page feeds remain necessary.
  • Login, support and legal pages, and any content with no commercial goal, must be excluded.

AI Brief: give instructions in your own words

AI Brief, announced on 30 April 2026, organises advertiser instructions into three categories: messaging, query matching and audiences. Names in the code refer to these same uses.

The brief sets rules for choosing queries, writing text and selecting ads. It complements keywords, exclusions, bidding goals and brand guidelines.

View technical details
QUERY_TARGETING_POSITIVE_INTENT QUERY_TARGETING_NEGATIVE_INTENT AUDIENCE_PRIORITIZATION_INTENT AIM_QUERY_REPORT_EXTRACTED AIM_AUTORATER_V1 … V3 AIM_SELECTION_V1 … V5
4

Create, check and select ads

The information given to AI, the instructions and the checks matter as much as the model chosen.

What you give the AI changes the result

The code can combine the page title and description, keywords, existing assets, business information and queries. It also includes writing instructions, examples and a response format. Together, these form a ‘recipe’ for creating ads.

View technical details

LlmAssetGenerationConfig combines the page title and description, keywords, existing assets, business information, salient text and queries. Each source carries its own minimums, maximums, separators, prefixes and suffixes. LlmPromptSpec exposes the instructions, the developer instructions, the context, the inference input, n-shot examples and formatting options.

llm_asset_generation_config.pb.dart llm_inference_config.pb.dart llm_prompt_spec.pb.dart llm_signal_processing_options.pb.dart asset_score.pb.dart asset_quality_signal_type.pbenum.dart source_attribution_configs.pbenum.dart transformation.pb.dart
recipe = information + instructions + model + number of texts + edits + checksWith the same AI model, different information and instructions can produce different ads.

The code includes several systems for running models, with different versions and settings. The choice can reflect language, speed, availability or cost needs. Sax refers to Saxml, software published by Google. Beyond, Evergreen, Servo, Steelmill and Uniserve remain internal names whose precise roles are not publicly documented.

Six years of changes in ad creation

The AssetSelectionVersionPB_Enum list contains 295 versions of methods for creating and selecting assets. Of these, 157 carry a date, from May 2020 to May 2026. They show how the techniques defined in the code developed over time. Their presence does not reveal which are active on an account today.

2020 — 2021 Extraction, rules and DSA

Early methods combine text extracted from the site, category-specific writing templates, selected assets and Dynamic Search Ads content. They do not rely on AI writing freely.

View technical details
BASE_MAY_2020HIGH_QUALITY_WITH_DSA_BUNDLE_AUG_2020 HIGH_QUALITY_WITH_EXTRACTIVE_MODELS_BUNDLE_AUG_2020 HIGH_QUALITY_MAQS_BUNDLE_NOV_2020CURATED_ASSETS_ONLY_NOV_2021
2022 Pegasus, MUM and source checks

Models that summarise and understand text appear. GROUNDED_GENERATIONS is named as early as January 2022: the code already supports checking generated text against its sources.

View technical details
HIGH_QUALITY_WITH_GROUNDED_GENERATIONS_BUNDLE_JAN_2022 PEGASUS_MULTILINGUAL_2022MUM_2022 GENERATIVE_MODELS_BUNDLE_AUG_2022NATURAL_LANGUAGE_ONLY_NOV_2022
2023 Bard, specialised models and quality checks

This year contains the most versions. It includes models adapted to tasks or languages, smaller models trained from other models, and learning methods guided by evaluations of their results. Five versions of the QUAC check appear, along with a method using only the landing page database.

View technical details
BARD_GENERATED_ASSETS_ONLY_FEB_2023LANDING_PAGE_REPOSITORY_ONLY_FEB_2023 ACA_JA_LLMIT_STUDENT_JUNE_2023ACA_LLMIT_RL_MUM_OCT_2023 QUAC_V01 … V05ADS_GUIDE_PREVIEW_ASSET_GENERATION_BUNDLE_OCT_2023
2024 AI conversations and asset editing

The defined methods can use multiple exchanges with AI and span several ad groups. Some edit existing assets; another uses only the page title.

View technical details
NATURAL_LANGUAGE_MULTI_TURN_ASSET_GENERATION_BUNDLE_MAR_2024 MULTI_AD_GROUP_JULY_2024ASSET_MODIFICATION_OCT_2024 LP_TITLE_ONLY_JULY_2024
2025 Generated keywords, agents and Final URL expansion

The code supports suggesting keywords with a language model and names a first assistant. It also explicitly links GenAI V3 to Final URL expansion.

View technical details
LLM_KEYWORD_SUGGESTION_MAY_2025ADS_GUIDE_AGENT_V0_JUNE_2025 GENAI_V3_FUE_OCT_2025GEO_TARGET_FEB_2025 GAC_ASSET_BOOST_OCT_2025_V1
2026 Ad policy checks and GenAI V4

The latest dated versions include an assistant for checking ad policy compliance and a method for refining text with GenAI V4.

View technical details
BASIC_DSA_HL_DL_BUNDLE_JAN_2026 ADS_GUIDE_CREATIVE_AGENT_V0_POLICY_CHECK_MAR_2026 GAC_PREFILL_POST_PROCESSING_GENAI_V4_MAY_2026

Seven categories of ad checks

The code contains two lists for evaluating assets: 88 score types in AssetScore_ScoreType and 60 quality indicators in AssetQualitySignalType_Enum. They share 59 names but remain separate lists. Many of the checks assess whether ad text reflects the page content and whether its claims are supported.

View technical details

The binary declares two separate inventories to grade an asset. AssetScore_ScoreType holds 88 values, AssetQualitySignalType_Enum holds 60, and 59 names are strictly identical across the two registers. The same names exist on both sides: once as a quality signal attached to the asset, once as a score usable to filter and rank. The intersection is one of labels only: apart from UNKNOWN, each of the 58 homonymous pairs carries a different numeric identifier, which rules out one register being a wire-level inclusion of the other. That shared core is therefore almost entirely devoted to faithfulness and grounding, with 38 signals in the FAITHFULNESS family alone on the quality side.

Some scores assess relevance, expected clicks or advice for improving headlines. Others try to identify the page sentences used to create the text. These checks answer several questions: is the ad relevant, appealing and consistent with its source content?

View technical details

The 29 values specific to AssetScore_ScoreType show what the second register does not cover: relevance and expected performance (KEYWORD_RELEVANCE, PCTR, SELECTABILITY, EXTRACTION, ROUGE_FILTER), the eleven MAQS classifiers inherited from the pre-LLM generation, and the four ASSET_STRENGTH_HEADLINE_* diagnostics. Only one value exists on the quality side alone, INFERRED_SOURCE_SENTENCES, which counts the source sentences reconstructed behind an asset.

These checks can be grouped into seven categories. They help select text, reject problematic content and provide feedback to the advertiser. They are not all applied to every asset.

88asset score types
60quality indicators
59names shared by both lists
38checks of consistency with source content
295versions of selection methods

Relevance and performance

Does the ad answer the search?

KEYWORD_RELEVANCEPCTRSELECTABILITY

Landing page

Signals taken from the landing page

LP_ASSET_FAITHFULNESS_CLASSIFIERMAQS_WEBPAGE_NAVIGATION_V1

Consistency with page content

Does the ad describe the offer accurately?

FAITHFULNESS_V1 … V6content shared by the ad and page

Evidence for claims

Which passages support the claims?

NATURAL_LANGUAGE_GROUNDINGSEMANTIC_GROUNDING_V1 … V5

Writing and coherence

Quality of the sentence itself

grammarcreativitycontradictionnegationcommon sense

Content to reject

Text can be rejected even if it attracts clicks.

offensive contentsensitive contentexclusion rules

Asset feedback

Headline-level assessments, ASSET_STRENGTH family

expected clicks by headline (pCTR)expected landing page experience (pLQ)overall score

The checks depend on the text source, model, language, asset type and features enabled for the account. All 88 score types are therefore not calculated for every proposed ad.

View technical details

AssetScore carries a type, a value, the language, a category and a possible error code. Filters restrict a scorer by source, model, language, asset type, recipe and ramp-up percentage. Google therefore does not compute 88 scores on every candidate: the jury actually convened depends on the recipe served to that account, in that language, on that day.

Successive checks

The code suggests selection in several steps: simple rules reject some texts, then more complex checks assess those that remain. The exact order remains an interpretation of the study.

1Check the formatLength, punctuation, strict duplicates, format constraints.
2Check text qualityRelevance, sensitive content and grammar.
3Reject texts that failSelected texts move on to more complex checks.
4Compare the text with its sourcesCheck claims, their conditions and sentence meaning.
5Hard gatesA single reason for rejection can rule out a text, even if it is relevant.
6Final selectionChoose varied assets and limit repetition.

88 score types are defined; the checks applied vary by case.

Check each claim against the page

Settings allow different checks for a headline, description, product or keyword. The system can compare a whole text or specific words with the page. It can also measure how much of the text is supported by a source and detect negations that change the meaning.

View technical details

GenerativeModelGroundingOptions carries distinct thresholds for headline, description, product, long headline and keyword. LandingPageGroundingTechnique_Enum separates SIMPLE_FULL_GROUNDING from WORD_LEVEL_GROUNDING. Other contracts measure the ratio of attributed tokens, the number of source sentences, filler tokens, stopwords, invisible sources and problematic negations.

The code can retain the exact passages supporting part of an ad’s text, along with their language and limits on length and number. This is the grounding check introduced earlier.

View technical details

SignalAttributionConfig keeps the source signal, the minimum length of a fragment, the maximum number of fragments, their distance and the language. That is how the system ties a piece of an asset to precise passages of the page.

Reusing the site’s words does not guarantee the same meaning. For example, changing ‘free delivery on orders over €50’ to ‘free delivery’ removes a condition. A Google patent first filed in 2023 describes checking individual clauses, replacing those that fail, then checking relevance and missing information.

Which information helps verify ad claims?

The AssetQualitySignalType_Enum list defines 38 indicators related to consistency with source content. The variants mainly change the information provided to check the text: the title alone, description, business name, snippets or full page content.

Variant Information used to check the text
FAITHFULNESS_V5The information normally provided to this method.
…_WITH_TITLE_TAGThe page title, on its own.
…_WITH_TITLE_DL_METATAGTitle, description lists and meta description.
…_WITH_BUSINESS_NAME_TITLE_DL_METATAGThe same, plus the business name.
…_NO_LP_SENTENCESThe same, but stripped of the sentences extracted from the page.
…_WITH_SNIPPETSSelected extracts rather than the whole page.
…_CONTEXT_ONLY_WITH_SNIPPETS_RAW_TEXTSnippets and their context, plus the full text.
…_NO_CONTEXT_WITH_SNIPPETSThe snippets with no surrounding context at all.
…_WITH_FILLER_VOCAB_V2Extra filler words added to test whether the check remains reliable.

These variants address practical questions: is the title enough to verify a claim? Does the meta description help identify the right source? Does the business name prevent confusion between brands? Does the full text add useful information or make the check harder?

Other checks look for likely source sentences, assess accuracy and usefulness, or identify contradictions and changes in meaning or tone.

View technical details

The same registry holds judges specialised beyond faithfulness: INFERRED_SOURCE_SENTENCES for inferred source, SENTIMENT_INVERSION_CLASSIFIER_V1 for flipped sentiment, ACCURACY_CLASSIFIER_V1 for accuracy, HELPFULNESS_CLASSIFIER_V1 for helpfulness, AUTO_AIS_V7_CONTRADICTION and AUTO_AIS_V7_NEUTRAL for contradiction and neutrality.

What this means for paid search and SEO teams

The title, meta description, description lists and business name can help verify ad claims. They should clearly describe the same offer with the same conditions. In the free-delivery example, the minimum order value needs to remain visible in the content used to write the ad.

The code also names an internal test set with reference answers for assessing these checks. Some settings can return only claims whose source could not be confirmed.

View technical details

An internal benchmark is named in the binary to evaluate that chain: IDENTIFIER_ADSORACLE_BENCHMARK_EXAM_GROUNDING_TRUTHS, a ground-truth set dedicated to grounding. ExactGroundingConfig comes with it, carrying the signal used as ground truth, the source attribution type, the maximum number of output values, and a selectedUngroundedOnly option that returns only what could not be verified.

AI can write and evaluate text

The evaluation includes the text to check, its source, a result chosen from allowed responses and an explanation.

ExtractAssetRatingCsvConfig expects the rated text, its attribution, an allowed label and a justification.

A model can create text, evaluate it or check where its claims come from. Google has also published ad moderation methods that group similar content, remove duplicates and have AI review a selection.

View technical details
checking instructions → AI assessment → result and explanation → parsing → response check → score or rejection

Select ad texts that complement each other

The code tracks distinct headlines, possible combinations, argument variety and repetition. Google describes a similar approach for RSAs: assemble assets that fit the context, remove duplicates, assess combinations and send the best ones to the auction.

SLIDING_WINDOW SEMANTIC_GROUPING LLM_CLUSTERING MTP_LLM_CLUSTERING
quality of each asset + diversity + range of needs covered − repetition

Past results help create the next texts

The system can also use results from ads already served. The SignalName_Enum list includes several measures of their impressions and clicks.

Assets with past results

View technical details
HIGH_CTR_ASSETSHIGH_CTR_ADV_ASSETS HIGH_CTR_CREATIVES HEADLINE_ADVERTISER_ASSETS_CLICKS HEADLINE_ADVERTISER_ASSETS_IMPRESSIONS NATURAL_LANGUAGE_HISTORICAL_TOP_PERFORMING_ASSET_EXTRACTOR

Methods guided by an objective

View technical details
PERFORMANT_GENERATION_ACA_V1 … V8 PERFORMANT_GENERATION_ACA_PCTR_V1 PERFORMANT_GENERATION_ACA_PLQ_V1 PERFORMANT_GENERATION_ACA_PCTR_PLQ_V1 PERFORMANT_ACA_FEATURES PERFORMANCE_WEIGHTED_RL_GENAI

Texts that earned clicks can provide information or examples for creating the next ones. Some method names also refer to objectives for click probability (pCTR), landing page experience (pLQ) or both (PCTR_PLQ). These estimates can therefore guide text creation as well as play a role in the auction.

01Served assetsAssets being served accumulate impressions and clicks.
02Observed performanceClicks, impressions, click and impression share per headline.
03Example selectionHigh-CTR assets can serve as examples for the next texts.
04Creation guided by resultsAn objective based on expected clicks, page experience, or both.
05Evaluate the textNew texts go through quality checks in turn.
06Serve the new assetsThe cycle restarts with fresh observations.

For paid search teams, current assets can therefore influence future suggestions. Texts with little variety give the AI few different examples. A headline that attracts clicks with an unsupported promise may look good for CTR while creating a poor experience after the click.

Ten paraphrases of the same benefit are less useful than a set covering product, use case, audience, evidence, price, availability, brand, reassurance and call to action.
Ad Strength

Ad Strength assesses asset quantity, relevance, variety and possible combinations. Google presents it as feedback for improving ads: it does not enter the Ad Rank or Quality Score calculation and does not directly affect eligibility to serve. However, an ‘Incomplete’ status prevents a Performance Max asset group from serving. The app uses recommendations to identify assets to add to aim for an ‘Excellent’ rating. This feedback complements analysis of performance and genuinely additional traffic.

5

Matching, auction and diagnostics

Create, match to queries, bid and measure: different functions to keep distinct.

Several selections happen before Ad Rank

Before the auction, Google Ads has already selected usable pages, information for writing text, relevant queries and asset combinations. It may also have selected products, images or videos. Ad Rank comes after these choices.

Operation What is ranked or selected Code references
Finding pagesThe site pages Ads can use.UrlValidationService · LANDING_PAGE_REPOSITORY · VisurlService
Selecting useful passagesTitles, sections and important excerpts.SALIENT_STUFF_PROCESSOR · SNIPPET_SEGMENT_PROCESSOR
Finding queriesSearches that express the needs to address.RAW_TOPK_HISTORICAL_QUERIES · …_LP_GROUNDED · VASCO · SEQUOIA
Identifying the business and its offersBusiness, brand, products, locations.canonical_business_database_id · business_classification
Selecting ad textHeadlines and descriptions kept after checks.AssetScore_ScoreType · FAITHFULNESS · KEYWORD_RELEVANCE
Choosing asset combinationsThe combination of assets sent to serving.SEMANTIC_GROUPING · LLM_CLUSTERING · MTP_LLM_CLUSTERING
Choosing products and visualsProducts, images and source videos.productFidelityScore · VIDEO_SOURCING_RANKING · indexed_image
AuctionThe ads eligible for a slot.pCTR · pCQ · pLQ · Ad Rank

The 88 asset score types help evaluate text as it is prepared. They do not form a second Ad Rank. The website, product catalogue, structured data and brand guidelines therefore play a role earlier in the process: they supply the information the system can choose from.

Before the auction, Google Ads has already selected the information, text, pages and visuals that can form the ad.
Understand the offer and create text Matching Auction Diagnostics and steering

A. Understand and create

Read the website and other business sources, prepare information for AI, create text, check claims and choose assets and the landing page.

B. Match the ad to the query

Identify ads that can answer a search through exact, phrase or broad match keywords, close variants, DSA, AI Max or Performance Max. Apply priority rules.

C. Calculate the bid and ranking

Use the manual or Smart Bidding bid, click and quality estimates, and Ad Rank thresholds to determine serving, position and price.

D. Measure and improve

Use Quality Score, Ad Strength, Optimization Score, reports, recommendations and simulators to analyse results and manage campaigns.

The landing page plays a role at several points: its content helps create the ad, its expected quality matters in the auction, and diagnostics help the advertiser improve it. It does not determine ranking or click price on its own.

Advertiser side, via Smart Bidding

Before the auction

Smart Bidding estimates conversion probability and value while accounting for budget or ROAS targets. It determines the bid sent to the auction.

Google side, at auction time

During the auction

Google uses click and quality estimates, among other factors, to determine whether the ad can appear, its ranking, position and price.

Ad Mixer: rank ads and account for the long term

According to a Google document provided to the CMA, the UK competition authority, a few hundred relevant ads reach Ad Mixer. This system assigns them an Ad Score or LTV Score. Trial documents connect this score with the public name Ad Rank.

LTV = bid × pCTR − βSimplified formula quoted in Judge Mehta's opinion of 5 August 2024.

Other trial documents explain that Google accounts for expected ad quality (pCQ) and landing page quality (pLQ). The calculation combines expected click revenue and the negative effects of a poor experience. It also accounts for the risk that users click ads less often in the future, known as ads blindness.

Document UPX0010 explicitly links LTV Score and Ad Rank. Click price also depends on pricing mechanisms separate from ad quality. The record names squashing, format pricing and rGSP, detailed below. Judge Mehta’s opinion states that Google used them to increase text ad prices.

View technical details

UPX0010 itself explicitly links LTV Score and Ad Rank: “the higher the LTV Score (i.e., the higher the Ad Rank)”. The price paid does not follow mechanically from quality. The record documents pricing levers tuned for revenue, not derived from ad quality: squashing, which artificially raises the runner-up’s pCTR and thereby increases its LTV score, format pricing and rGSP, a randomised second-price auction. Judge Mehta’s opinion finds that Google used them to raise text ad prices. Page quality weighs on the ranking; the final CPC also depends on settings aimed at revenue.

pCTR

click probability

Estimates click probability based on the query, ad, position and context. Google states that its pCTR models do not use landing page information.

pCQ

expected ad quality

Estimates ad quality independently of the landing page.

pLQ

expected landing page experience

Estimates landing page experience before the click, using post-click behaviour and session information.

β

fewer future clicks

Accounts for the risk that a poor ad experience reduces future clicks.

Patents filed as early as 2005 already distinguish click probability from landing page quality. The code also names text creation methods guided by pCTR, pLQ or both. For paid search teams, the implication is clear: a headline can attract clicks while creating an expectation the page does not meet.

Ad Rank thresholds determine whether an ad can occupy a placement. They vary with quality, context, position and the search topic. Even without a direct competitor, they can impose a minimum price. Other pricing settings can also change CPC.

View technical details

Ad Rank thresholds determine eligibility for a slot and vary with quality, context, position and topic. Even with no direct competitor they can set a floor price. The court record also describes squashing, the former format pricing and rGSP, codename Polyjuice. Those mechanisms change the price reference or the relative weight of certain terms.

Page quality matters in the auction. CPC also depends on the bid, competition, thresholds, position and pricing settings.

Indicator Level Role
Quality Score 1 to 10keywordDiagnostic of the quality components.
Ad Strengthad or asset groupFeedback on asset quantity, variety and the arguments covered.
pCTR, pCQ, pLQauctionClick and quality estimates used in the auction.
Optimization Scoreaccount or campaignPrioritisation of recommendations.

A trial document distinguishes pCTR, pCQ and pLQ, used in the auction, from the 1–10 Quality Score, used for diagnosis. Scores shown in the interface or found in the code therefore do not all serve the same purpose.

Google also ranks its advice

For each recommendation, the code defines one effect on Optimization Score if it is applied and another if it is dismissed. These effects can be tracked at account and campaign level. The score therefore also depends on how you handle recommendations.

View technical details

The Optimization Score is not only a displayed grade. The internal messages SuggestionScore and SuggestionScopeScore carry, for each recommendation, a separate applyUplift and dismissUplift, a viewedScore and campaign and account scopes. The client subtracts both uplifts from the page's aggregate score when a suggestion is removed. The score behaves like a ledger of mutations, not like a sum.

The budget is steered automatically too

The code describes a temporary budget increase with a possible return to the original budget. It specifies the information needed to track this adjustment.

View technical details

The field names of two internal messages describe a temporary, reversible budget adjustment mechanism, with a complete lifecycle. These are not isolated enum names: they are fields resolved inside messages, which is stronger evidence.

CampaignBudgetBoostInfo / BudgetBoostInfo budgetIncreaseAmount baselineBudgetAmount boostProcessingInfo applyProcessingInfo reversionProcessingInfo terminationProcessingInfo targetRoasRelaxationPercentMillis deliveryMethod isBudgetBoosted isLastBudgetBoostTerminated lastBudgetBoostId secondLastBudgetBoostId budgetBoostSeasonalityEventId AdaptiveBudgetsSettings baselineBudget maxIncreasePercentage maxDecreasePercentage isCampaignLevelOverride isExcluded

Track the increase and return to the original budget

Four technical statuses track applying the increase, returning to the original budget and ending the adjustment. Among them, the ‘apply’ status appears in the latest version of the message.

A temporarily less restrictive ROAS target

The targetRoasRelaxationPercentMillis setting supports temporarily relaxing the ROAS target alongside the budget increase.

View technical details

targetRoasRelaxationPercentMillis indicates that the budget increase comes with a temporary loosening of the profitability target, expressed in percent-thousandths.

Triggered by an event

The budgetBoostSeasonalityEventId field links the increase to a seasonal event. It suggests a connection to a calendar, without establishing on its own how the increase is triggered.

AdaptiveBudgetsSettings also defines limits for automatic adjustments: an allowed percentage, a minimum and a maximum. Campaign-specific settings and an opt-out are included. This allows the system to limit the size of budget changes.

View technical details

AdaptiveBudgetsSettings describes a second, adjacent mechanism: automatic adjustment bounds in percent, a ceiling and a floor, with a campaign-level override and an exclusion option. In other words, an account can define the range within which the system is allowed to move on its own.

What it changes for steering

During a seasonal peak, a change in spend or ROAS may also come from a temporary budget adjustment. Before attributing the difference to competition or an optimisation, check whether an increase was applied and then reversed during the period, and what limits were allowed.

6

AI search, Shopping and assistants

Inside a generated answer, the ad has to be consistent with what the AI has just explained.

Google states that for ads served in AI Overviews two contexts are taken into account: the user query and the content of the AI Overview. The Search or Shopping ad has to win the auction, answer the query and stay relevant to the information in the generated answer.

The code contains functions that could help match ads to conversation content.

user query → generated answer → commercial intent detected → ad and product relevant to both contexts

In a classic search, Google connects the query, ad and landing page. With an AI-generated answer, the answer’s content also matters. Several 2023 patents describe ads adapted to conversations: identify important terms in exchanges, clarify the need across messages and adjust the ad text. These patents describe possibilities, not proof of deployment.

SEMANTIC_QUERY_MATCH SEARCH_INTENT AIM_TEXTUALIZED_RESPONSE AIM_USER_QUERY AIM_LLM_PAGE_MARKDOWN NATURAL_LANGUAGE_GROUNDING

Shopping also uses the product feed and website

AI Max for Shopping uses Merchant Center feed data, site content and title generation to answer more conversational queries. Final URL expansion can walk the site to identify categories, new arrivals, commercial editorial pages and other relevant destinations.

The code includes product information (gmc_product_info), Merchant Center asset suggestions, information about titles and descriptions, and landing page variants. The productFidelityScore assesses whether a generated asset describes the product accurately.

Trial documents indicate that text ads and Product Listing Ads use separate auction systems. Sharing content sources or models therefore does not mean sharing a single auction.

Assistants for preparing and editing campaigns

The name GENERIC_MUTATE indicates that an assistant can prepare or apply account changes, subject to the product’s controls. Another set of functions, Ads Guide, brings together conversation history, website information, personalisation and campaign creation. It also includes specialised capabilities and models able to reason through several steps.

The products Google has announced point the same way: Ads Advisor, Analytics Advisor and Ask Advisor. Google states that approval is requested before an action is applied.

View technical details
AWN_ADS_ADVISOR_ANALYSIS AWN_ADS_ADVISOR_DEEP_RESEARCH AWN_ADS_ADVISOR_BID_BUDGET_GUIDANCE_AGENT AWN_ADS_ADVISOR_NEGATIVE_KEYWORDS_SKILL AWN_ADS_ADVISOR_POLICY_SKILL_AUTOFIX AWN_ADS_ADVISOR_GENERIC_MUTATE AWN_ADS_ADVISOR_UI_NAVIGATION_TOOL
campaign = goal + brief + constraints + reference information + allowed actions

To manage these assistants, instructions and sources need to be consistent. A brand rule is hard to apply if the website, product feed, Business Profile and assets give conflicting information. The assistant works with the data it can access.

7

What to change in your campaigns and website

Eight workstreams for SEO, SEA and AI search teams.

1. Structure pages so Google Ads can use their content

Make each important piece of information easy to find in the page’s HTML: product or service, target audience, benefits, evidence, price, availability and conditions. Organise content into clear sections with sentences that make sense when read separately.

2. Keep claims visible

Clearly display prices, discounts, delivery times, warranties, certifications and restrictions. Each ad claim should be traceable to the page, with its conditions. For example, keep ‘on orders over €50’ next to ‘free delivery’.

3. Align title, H1, sections, meta and schema

AI can combine the title, H1, sections, meta tags and structured data. These should describe the same offer, brand and conditions. The aim is consistent information, without mechanically repeating the same words everywhere.

4. Treat URLs and navigation as SEA levers

Make category, service, service-area, comparison and seasonal pages easy to find through navigation. Visitors should quickly find the offer promised in the ad and understand how to buy or get in touch.

5. Prepare complementary assets

Vary the arguments: product, benefit, use case, audience, evidence, price, availability, brand and call to action. Complementary headlines offer more useful combinations than several rewordings of the same benefit.

6. Use queries to improve pages

Query history, broad match, Search Themes and AI Max reports reveal the needs people express in searches. Use them to identify missing information, add useful sections and create relevant landing pages. Also check that the website supports the claims associated with these searches.

7. Keep exact keywords on strategic queries

Targeting without keywords does not remove priority rules. For searches important to the brand, products or profitability, an eligible keyword identical to the query remains useful for guiding campaign selection. It does not guarantee serving on its own.

8. Check AdsBot and harmonise the sources

A global rule in robots.txt is not enough to control AdsBot. Check AdsBot-Google, AdsBot-Google-Mobile, the HTTP responses, the redirects and how the main content renders. Site, Merchant Center, Business Profile, YouTube, social profiles and existing assets must stay consistent on brand name, categories, products, visuals, service areas, prices and promotional conditions.

AI Brief

A useful brief specifies required messages, prohibited claims, queries to target or avoid, priority audiences and allowed pages. Include sensitive terms, excluded categories and evidence available on the website. Then monitor performance, queries, consistency between ad and page, and genuinely additional conversions.

8

What to watch

Nine things to check in Google Ads, your reports and your server logs.

Checkpoint Where to read it What it tells you
AdsBot access Server logs filtered on AdsBot-Google and AdsBot-Google-Mobile, robots.txt, response codes. Pages AdsBot cannot access, even when Googlebot can.
Source of the match Search terms report, match type column, AI_MAX_KEYWORDLESS and AI_MAX_BROAD_MATCH labels. How much traffic is captured outside your keywords, and on which intents.
Search term, page and ad headline ai_max_search_term_ad_combination_view The destination and the text Google pairs with each intent.
URLs the expansion picks Landing page report, exclusion list, page feeds. Pages with no commercial goal that receive paid traffic.
Automatically created assets Assets tab, filter on creation source, rejected or pending assets. Claims the page does not support, and the ones Google dropped.
Asset variety Ad Strength and the detail of its recommendations, asset performance report. Repeated headlines and missing arguments.
Quality Score components Expected CTR, ad relevance and landing page experience columns, at keyword level. The gap between an attractive text and a destination that keeps the promise.
Consistency across your sources Merchant Center diagnostics, Business Profile listing, asset suggestions Google offers. Which source Google keeps when the site, the feed and the listing disagree.
Additional traffic from Search Themes Search Theme incrementality column in Performance Max. Whether a theme captures new demand or reattributes demand already covered.

These observations alone do not prove the effect of a change. Seasonality, competition, budget and bidding learning can also affect results. To measure an effect, compare conditions that are as similar as possible, change one factor at a time and allow enough time for the test.

9

Method, sources and appendix

We analysed app versions 3.34 and 3.37 to identify supported functions, exchanged information and available settings. Both versions were compared on the same architecture to distinguish version changes from differences in how the app was built. This work was complemented by observing the ads.google.com web interface: several traffic captures from real sessions were used to cross-check the site’s vocabulary and schemas against those found in the app.

A tool developed for the study read the program’s structure beyond a simple word search. Checks confirmed that the analysis covered the expected data: 3,018 groups read out of 3,018, followed by 220 matching fields out of 225 when compared with the web interface. The version 3.37 inventory includes 1,638 technical value lists and 39,409 entries. The detailed method is available below.

View technical details

The binary was not read by mere string extraction. A deserializer for the Dart snapshot was written for the purpose and checked against the format's own internal oracles: 3,018 clusters read out of 3,018, no reference outside its type, end of stream reached exactly. The BuilderInfo initialisers, which declare the protobuf fields, were disassembled and cross-checked against the web interface descriptors: 220 fields identical out of 225. The inventory counts were redone by class and library identity, which separates the homonyms the first dump merged: 1,638 enum types and 39,409 constants in version 3.37.

This interpretation is compared with US v. Google trial evidence, product documentation, Google Research publications and the patents listed below. These sources help interpret the functions found in the code.

The app does not reveal internal model settings, decision thresholds or the features actually enabled on each account. Some connections remain hypotheses, including the role of SEARCH_SHADOW and the order of checks or AI Max steps. Beyond, Evergreen, Servo, Steelmill, Uniserve and Sequoia remain internal names without public documentation.

Main sources

US v. Google trial

Google documentation and announcements

Research publications

Patents

Appendix

The raw inventories of version 3.37 are published on a separate page: 173 gRPC services grouped by family, the 25 enums quoted in the study with their 1,507 values, and the 2,143 protobuf libraries. They are several times the size of this text and are not read the same way.

Open the appendix: version 3.37 inventories

The question to ask: what can Google Ads understand about our business and offer, and which claims can our website support?

Other sources and studies

Sept 2026 RESONEO Shop, a WebMCP demo: 135 tools exposed to an AI agent, 33 guided scenarios, live and simulated data August 2026 What ChatGPT pulls, what it shows, what it cites (updated: it searches far less broadly, and cites just as much) August 2026 Google Map dissected: 72 ranking signals and the architecture linking the Web, places and AI July 2026 ChatGPT experiments tracker: what OpenAI tests before rollout July 2026 How your Google phone tracks you to "serve you better" June 2026 3,729,456 Google internal URLs, without opening a single one June 2026 What Google is really building June 2026 Inside Pinterest's algorithm June 2026 How Chrome classifies websites internally May 2026 Tomorrow's AI phone, seen from inside a Google APK More stuffs...
RESONEO