Search campaign setup
New Google Search campaigns created through Erdo default to Google Search only. Search Partners and Display are disabled, including when the campaign request leaves network settings out. The approval shows the networks the campaign will use. You can explicitly request additional networks; Erdo should not enable them merely because another campaign uses them. This default applies to new Search campaigns. It does not change existing campaigns or other campaign types. Ask the agent to audit an existing campaign and propose any network changes through approvals.Researching keyword demand
Ask the agent to use Keyword Planner for the intended location and language.generate_google_ads_keyword_ideas expands a seed list in ideas mode; exact
mode returns historical metrics for the submitted phrases without expansion.
Exact results group only returned keyword identities and the close variants
Google explicitly supplies. Phrases with identical metrics stay separate.
The result and each row carry
identity_basis: "google_explicit_close_variants_v1". This identifies the grouping
rule, without guaranteeing a distinct total across separate requests. Overlapping
locations, languages and phrase batches can overlap. Search estimates count
searches, not unique people or confirmed buyers.
Research evidence is for candidate generation, not buyer qualification or
permission to spend. A nearby property’s name or a searcher’s location does not
prove that the buyer is qualified, from that country, or using that language.
Keep country and language separate, and verify the actual ad destination,
page/form capture, and follow-up path before launch. Record the source, fetch
date, geo, language, filters and coverage for each study; use the organization’s
own account history for keyword gaps and performance priors when it exists.
Exact results include a batches list with request and response SHA-256 hashes and
a UTC fetched_at timestamp for each successful response. Each row carries its own
batch receipt; a single-batch result also carries those fields at the top level.
These connect the result to its source receipts; the fetch time is separate from
the months covered by the estimate.
Both modes carry metrics_available; missing search estimates stay null, while
reported zero or 10 estimates remain reported. Malformed or negative estimates
fail visibly. Idea mode labels its returned keyword text with
identity_basis: "google_returned_keyword_text_v1", without inferring variants,
and carries request/response receipts on its result and rows. A completed request
can still have unavailable metrics, so report coverage before using a sample total
or forecast. An estimate or forecast is planning evidence only: it is not a
promise of clicks or conversions, a buyer qualification signal, or authority to
enable a campaign or change its budget. Launches remain PAUSED and approval-gated.
Earlier exact outputs without this identity basis may contain inferred groups.
Collect fresh results before reusing those outputs in a campaign plan.
Monthly series items carry metrics_available and nullable searches too. Missing/null monthly
estimates remain unknown; explicit zero remains zero. Invalid monthly estimates fail parsing even
when the caller does not ask to display the series. Do not replace unavailable months with zero in
seasonality calculations.
Both modes require an explicit results array in the provider response. Missing or null arrays
fail visibly; an explicit empty array is a valid empty result.
Before launch
The lead engine prepares campaigns paused and checks their settings after creation. Your brief supplies the audience, markets, language, budget and offer. The launch review should show:
When rebuilding campaigns in another Ads account, the agent must read and
preserve their approved budgets, targeting, bidding and exclusions. Conversion
actions must belong to the destination account, and the pages must use the new
tracking values. Exclusions from the source account need to be carried over
explicitly; destination-account inheritance cannot retrieve them.
Ad assets: sitelinks, callouts, images and your logo
A search ad with only a headline and description is the smallest ad Google shows. Competing ads often add extra links, short selling points, an image, and the advertiser’s logo and name, which can make them two to three times larger. Erdo adds these to every campaign it launches, and to existing campaigns when you ask it to refresh them:
Google only accepts images and logos in set shapes: wide (1.91:1) or square photos,
and a square logo. When your brand library has none in those shapes, Erdo crops your
photos and places your logo on a square in your brand colour, then saves the results
to your brand library. You don’t need to supply extra files.
Assets are attached to one campaign by default, so a link or claim for one
development cannot appear on another’s ads. Every sitelink points to a page of
the same development. Adding assets is an approval card that lists each link,
callout, snippet and image before anything changes.
You can also attach assets to the whole Ads account, for example a callout that
is true of every campaign you run. Account-level assets show on every campaign
in the account, so Erdo only allows them when it can show that every active or
paused campaign in the account is yours. In an account you share with other
organizations it refuses and asks for campaign-level assets instead. The
approval card says the change applies to the whole account.
In a shared Ads account, Erdo checks that the campaign belongs to your organization
before showing the approval and again before applying it. Erdo records ownership
when it creates a campaign, so its first ad and assets do not depend on having
an ad already in place. A campaign created outside Erdo needs either your
organization’s Erdo bidding strategy or an ad landing on your public Erdo page
or active custom domain. If neither is present, Erdo stops without changing
assets and explains what destination to add first. Sitelinks
to your public Erdo pages can use any active domain that serves them, including
a secondary domain or your manager’s default domain.
Google reviews business names, logos and images. It may decline them until the
brand is verified for the Ads account. When that happens, the ads still run
without them. Erdo starts the verification for you and gives you the Google link
that completes it, along with its deadline. The identity checks themselves happen
on Google’s page. Google offers that link only for accounts billed by monthly
invoicing. For an account paid by card, Google does not share the
verification status with Erdo, so Erdo asks you to check it in Google Ads under
Billing, then Advertiser verification, and to complete it there if it is
still pending.
Moving ads to your own domain
Google allows one website per ad group. Every ad and keyword URL in an ad group, paused ones included, must use the same domain, or Google disapproves the ads. Changing the domain of a live ad sends it back to review, and Google can then disapprove the whole ad group even after every URL matches. That stops the ad group serving until an appeal succeeds. Erdo launches campaigns on your own domain whenever it is active, and never onpages.erdo.ai in that case. When your pages move to a new domain after launch,
Erdo moves each ad group in stages. It creates a new ad group on the new domain
with the same keywords, negative keywords and ads, and leaves the old one
serving. It waits until Google has approved every new ad. Only then does it
pause the old ad group, and after that it moves the sitelinks. If Google
disapproves a new ad, the old ad group keeps serving and Erdo flags the
disapproval, with the policy Google named, for you to review. Each step is an
approval card.
See your ads before they run
Every launch also produces an Ad Preview page. It shows each ad as it appears on each platform it runs on: a Google search result with its sitelinks, callouts, image and logo, and a feed post for Meta ads on Facebook and Instagram. It is built from what the ad platforms are actually serving, contains no account IDs or budgets, and is meant to be shared with the people who approve the campaign.Settings that still need an operator
- Account access and billing: connect the intended Google Ads account and complete its billing setup in Google Ads.
- Auto-tagging: Erdo can check it, but cannot currently toggle it. If it is off, enable it in Google Ads so paid clicks carry their click IDs.
- Launch and exceptions: review the proposed campaign and approve launch, budget changes, or deliberate expansion beyond the default networks.
- Offline conversion uploads: these are a separate workflow; creating a campaign does not by itself install recurring uploads or retractions. See Offline conversions.

