# Google Ads concept: German clients at low cost Status: draft for the owner's review. Nothing has been created in the Ads account, and no API call has been made. Wording and prices come from the website's German texts (`apps/web/src/content/de.ts`). Search volumes and click prices are **not** in this document: they have to come from the Keyword Planner once API access works (section 7). ## 1. Goal and principle Goal: enquiries by email from German companies, for the two services a layperson searches for: a website, and process automation. Small budget, so every euro goes to people who are already looking. - **Search ads first.** Someone who types "Website erstellen lassen" has a need today. Video and display ads reach people who do not, and cost more per enquiry. - **Narrow, then widen.** Few exact search terms, one country, business hours. Widen only what produces enquiries. - **Measure enquiries, not clicks.** Without counting email clicks per search term, nothing can be steered. - The videos (`apps/video`) are for LinkedIn posts and, later, for showing to people who already visited the site. ## 2. Before the first euro is spent | # | Prerequisite | Why | State | | - | :----------- | :-- | :---- | | 1 | German landing page | German ad, German page. | Done: German is the main language of the site since 2026-10-04. Ads lead to the homepage, to the section of the service. Own pages per campaign would convert better, but the site is one page by decision | | 2 | Count email clicks | `EmailLink` does not record a click today. Umami is on the site and needs no cookie banner. | Open: add an event, e.g. `contact_email_click`, with the campaign from the URL | | 3 | Campaign tagging | Every ad URL carries `utm_source=google&utm_medium=cpc&utm_campaign=&utm_term={keyword}` so Umami shows which search term led to an email click. | With the ads | | 4 | Developer token and customer number | The Ads API rejects every call without them. `gcloud` login with the Ads scope and the enabled API exist (project `mintelme-402610`). | Open: owner provides both | | 5 | Payment method and billing country in the Ads account | Cannot be checked from here. | Open: owner | On prerequisite 2: Google's own conversion tag would let Google optimise bids by itself, but it sets cookies and needs a consent banner. Recommendation: start without it, judge by Umami, and decide about the tag after the first month. ## 3. Account structure Two search campaigns at the start, one ad group each, so that budget and results stay readable. | Setting | Value | Reason | | :------ | :---- | :----- | | Networks | Google Search only; search partners and Display off | Partners and Display bring cheap clicks that rarely enquire | | Location | Germany, "presence" only (people who are there, not people interested in it) | Default setting includes people abroad | | Language | German | | | Schedule | Monday to Friday, 7:00 to 19:00 | Business owners search during working hours; review after two weeks | | Match types | Phrase and exact only, no broad match | Broad match spends a small budget on unrelated searches | | Bidding | Maximise clicks with a click-price cap | There is no conversion data yet for automatic bidding | | Budget | A fixed daily amount per campaign, set by the owner | See section 6 | ## 4. Campaign "Website" Landing page: the German homepage, services section, case "website". Search terms (phrase and exact): - website erstellen lassen - homepage erstellen lassen - firmenwebsite erstellen lassen - webseite erstellen lassen kosten - website für unternehmen erstellen lassen - webdesigner freelancer - webentwickler freelancer Excluded terms: kostenlos, gratis, selbst, selber, baukasten, wix, jimdo, squarespace, wordpress, shopify, onlineshop, vorlage, template, kurs, lernen, ausbildung, studium, job, jobs, stellenangebot, gehalt, praktikum. Responsive search ad. Headlines (at most 30 characters each): - H: Website erstellen lassen - H: Firmenwebsite vom Entwickler - H: Ab 3.800 € netto - H: 15 Jahre Web-Erfahrung - H: Design, Bau und Hosting - H: Änderungen per E-Mail - H: Kein Baukasten nötig - H: Erstgespräch: 20 Minuten - H: Freelancer statt Agentur - H: Passt auf Handy und Desktop - H: Marc Mintel, Webentwickler - H: Individuelles Design Descriptions (at most 90 characters each): - D: Sie sagen, was Ihr Unternehmen macht. Ich gestalte, baue und betreue Ihre Website. - D: Ein Design für Ihr Unternehmen statt einer Vorlage. Auf Handy, Tablet und Desktop. - D: Um das Hosting kümmere ich mich. Änderungen schicken Sie mir einfach per E-Mail. - D: Schätzung nach dem ersten Gespräch. Eine typische Firmenwebsite ab 3.800 € netto. Sitelinks: "So läuft es ab", "Was es kostet", "Meine Arbeiten", "Kontakt". ## 5. Campaign "Automatisierung" Landing page: the German homepage, services section, case "automation". Search terms (phrase and exact): - prozesse automatisieren - geschäftsprozesse automatisieren - prozessautomatisierung unternehmen - schnittstelle programmieren lassen - api anbindung programmieren lassen - rechnungen automatisch erfassen - systeme verbinden schnittstelle Excluded terms: definition, beispiele, bachelorarbeit, masterarbeit, studium, kurs, schulung, zertifizierung, job, jobs, stellenangebot, gehalt, kostenlos, sap, uipath, power automate, zapier, make. The last four are tool names. People searching for them want the tool, not a developer. Review after two weeks: "zapier" or "make" plus "einrichten lassen" could be worth an own ad group. Responsive search ad. Headlines: - H: Prozesse automatisieren - H: Systeme verbinden lassen - H: Schluss mit Copy-and-paste - H: Schnittstellen vom Entwickler - H: Rechnungen automatisch lesen - H: Von Bestellung bis Rechnung - H: 100 € pro Stunde, netto - H: Erst Schätzung, dann Budget - H: Erstgespräch: 20 Minuten - H: 15 Jahre Web-Erfahrung - H: Ihre Tools, verbunden - H: Keine Anfrage geht verloren Descriptions: - D: Ich verbinde die Tools, die Sie schon nutzen. Wiederkehrende Schritte laufen von selbst. - D: Daten von Hand von einem Tool ins andere tippen? Das lässt sich meist automatisieren. - D: Ich sehe mir den Ablauf an und schätze den Aufwand. Die Schätzung wird Ihr Budget. - D: Menschen entscheiden die Ausnahmen, die Routine läuft von selbst. Erstgespräch: 20 Min. Sitelinks: "Beispiele", "So läuft es ab", "Was es kostet", "Kontakt". ## 6. Budget and when to stop The amounts are the owner's decision. A workable way to set them: - Decide what one new client is worth, and how much of that may go into finding them. - Run both campaigns for four weeks at a fixed daily amount. Do not change anything in the first week. - Weekly, 15 minutes: read the search terms report, add wasted terms to the excluded list, pause search terms that got clicks but no email click. - After four weeks: a campaign that produced no enquiry is stopped or rebuilt, not given more budget. - Automatic bidding on enquiries only once there are enough of them to learn from (Google's guidance is in the order of 30 conversions a month; check the current figure before switching). ## 7. Later steps 1. **Numbers first.** With API access: pull monthly searches and click-price ranges for the terms above (Keyword Planner), drop terms nobody searches, and set the click-price cap from real figures. 2. **Developer campaign.** Terms like "react entwickler freelancer", "next.js entwickler freelance", "frontend entwickler freelancer". Fewer searches, and staffing platforms bid on them. Start only when the first two campaigns are understood. Video: `ProductDeveloper-de`. 3. **"Make an app reliable".** Wait until the offer and its price are settled. 4. **Videos as ads.** Upload the 16:9 versions (`*-de-wide.mp4`) to YouTube and show them only to people who visited the site in the last 30 days. This needs Google's tag and therefore the consent banner (section 2). ## 8. What Claude may do with the API - Read: list the account, campaigns, search terms and Keyword Planner figures. - Prepare: create campaigns, ad groups, ads and excluded terms **paused**, after the owner approved this document. - Never: enable a campaign, set or raise a budget, or change billing. That stays with the owner.