ClaudeCode-Tracking & Analytics

ClaudeCode · Deep dive · Facts checked October 2026

Tracking & Analytics

Find out which ads, posts and listings bring paying customers, and which only bring clicks. You will set up UTM links, Google Analytics 4, Google Tag Manager, Google Ads and Meta tracking, count calls and WhatsApp chats in Türkiye, and connect every lead to a paid job. Every step is shown on one example: a 12-person car repair shop in İstanbul.

Sections
14
Reading time
≈ 3 h
Level
Beginner +
Market focus
Türkiye + global
Builds on
Marketing Crash Course modules 03 (the numbers that matter), 05 (measure before you spend) and 13 (track results & improve)
← Marketing Crash Course

Section 01 / 14

Why measure: the measurement plan

Read
12 min
Builds on
Crash Course 03, 05
You will be able to
Write a one-page plan that links a business goal to the customer actions you count, and name the tool that counts each one.

Every ad platform tells you how many people saw and clicked your ad. None of them knows how many cars came into the shop or how much those customers paid. Tracking connects those two worlds, so you can see which money brought customers and which money only brought clicks.

For a repair shop the real result is a paid job: an iş emri (work order) that ends with a fatura (invoice). Calls, WhatsApp chats, form fills and direction requests are steps on the way. They are useful signals, but they are not money yet.

The chain from ad to money

Each paying customer moves through the same chain of steps:

Impression → click or visit → lead action (call, WhatsApp, form, directions) → booked appointment → car in the shop → invoice paid → repeat visits

Ad platforms and Google Analytics see the left part of this chain. Only you see the right part: which jobs were done and what was paid. Good tracking joins the two halves, usually with a simple customer log that the front desk fills in.

From goal to tracked actions

Write the plan before you install any tool. It takes one to two hours on paper or in a Google Sheet.

  1. Write the business goal

    One sentence with a number and a date. "More customers" is too vague to measure.

  2. Pick 3–5 KPIs

    For example: new paying customers per month, cost per new customer, revenue from new customers, lead-to-job rate, cost per lead by channel.

  3. List every way a customer can reach you

    Phone, WhatsApp, website form, online booking, Google Maps, walking in. Next to each, write how it will be counted and by which tool.

  4. Fix the names

    Decide how you will name links, events and conversions (Sections 03–06), and never mix spellings.

  5. Name the owners

    Who fills in the customer log (usually the front desk, danışma), and who reads the numbers every Monday.

  6. Date the plan

    Give it a version number and update it when you add a channel.

Business goal 40 new paying customers a month (example) KPI New paying customers / month KPI Cost per customer ≤ 1,500 TL KPI Lead → job rate above 35% Call tap (tel: link) GTM → GA4 WhatsApp button click GTM → GA4 Form or booking sent thank-you page Maps calls, directions GBP report Real call or walk-in customer log Paid job + invoice customer log Signals and leads: tools can count these Only your own log counts these
A measurement plan is a tree. One goal, a few KPIs, and every customer action under them with the tool that counts it. The two orange boxes on the right never reach Google or Meta by themselves; your customer log has to record them. (GTM = Google Tag Manager, GA4 = Google Analytics 4, GBP = Google Business Profile. All are explained in Section 02.)

The conversions of a repair shop

List every way a customer can reach Örnek Oto Servis, and how each one is counted:

Customer actionWhere it happensHow to count itTool
Taps the phone number on the websiteWebsiteA GTM rule (trigger) that fires on taps on phone links (tel:) → event click_to_callGTM, GA4, Google Ads, Meta Pixel
Actually calls the shopPhone lineSeparate number per channel; phone-system call log; "Bizi nereden duydunuz?"Cloud PBX, customer log
Taps the WhatsApp buttonWebsiteA GTM trigger on WhatsApp links → event whatsapp_clickGTM, GA4, Meta Pixel
Starts a WhatsApp chat from an ad (Click-to-WhatsApp)Meta ads"Messaging conversations started" in Ads ManagerMeta
Sends a form or books onlineWebsiteThank-you page view → event generate_leadGTM, GA4, Google Ads, Meta Pixel
Asks for directions or taps call on Google MapsGoogle Business ProfilePerformance report (monthly); tagged website linkGBP, GA4
Walks inShop"Bizi nereden duydunuz?" answer in the logSheet or CRM
Pays for a jobShop / accountingInvoice amount in the log; later uploaded as an offline conversionSheet or CRM, Google Ads, Meta
GTM = Google Tag Manager, a free tool that sends website actions to other tools. GA4 = Google Analytics 4, Google's free website statistics tool. Meta Pixel = Meta's tracking code for websites. Cloud PBX = an internet phone system (bulut santral) with a call log. CRM = customer database. "Bizi nereden duydunuz?" = "How did you hear about us?"

Macro, primary and micro conversions

Not every action is worth the same. Sort them into three groups:

Macro: the real goal

  • Paid job
  • Booked appointment where the car actually came in

Counted in your customer log. Can be uploaded to ad platforms later (Sections 06–07).

Primary leads

  • Tap on the phone number
  • Tap on the WhatsApp button
  • Form sent, online booking done
  • Call or directions tap on Google Maps

Count these as key events (GA4's name for important actions, Section 04) and as ad-platform conversions.

Micro: small steps

  • Viewing the prices or a service page
  • Scrolling, opening the map
  • Starting a form, watching a video

Watch them, but do not tell ad platforms to chase them.

A simple rule: tell ad platforms to optimise for the closest action to money that you can measure reliably and often enough. A beginner usually starts with form leads, call taps and WhatsApp taps. Once enough jobs are logged, you can send "job completed" data back to the platforms.

Own your accounts

Every number in this guide lives inside an account: Google Ads, GA4, Tag Manager, Business Profile, Meta. If an agency or a freelancer creates these accounts in its own name and you part ways, you can lose years of data, your conversion setup and your ad history. Set one rule from day one: the business owns every account, and outside helpers get access.

AccountThe shop keepsAn agency gets
Google AdsAdmin access, on a shop e-mail address. Admin is the level that can manage users and billing.Standard access: it can edit campaigns, but cannot manage users Google Ads Help, Oct 2026
GA4 and Tag ManagerThe Administrator role, which is needed to add and remove users Google Analytics Help, Oct 2026A lower role on its own login
Google Business ProfileThe owner roleManager access
Meta (business portfolio, ad account, Pixel)The business portfolio in the shop's name, with full controlPartner access to the assets it needs; partner access does not transfer ownership Chatfuel docs, Oct 2026 (secondary)
Use a shared shop address (for example a Gmail account the owner controls), not a staff member's private address. Role names are as of October 2026. The Business Profile row is common practice; its role names were not re-checked for this guide.

Örnek Oto Servis: the filled-in plan

Business goalKPIExample targetData sourceCheck
More new customersNew paying customers per month (all channels)40 / monthCustomer logWeekly
Profitable adsCost per new paying customer from paid ads≤ 1,500 TL (break-even 3,200 TL)Ad spend ÷ jobs in the logMonthly
Affordable leadsCost per lead (call, WhatsApp, form)≤ 600 TLAd platforms + logWeekly
Good lead handlingLead → job rate; share of missed calls> 35%; < 10% missedLog + phone systemWeekly
Visible in local searchMaps calls + direction requests; Google search clicks for local searchesGrowing vs. last quarterGBP, Search ConsoleMonthly
Website works as a sales toolShare of mobile visits with a lead actionGrowing vs. own baselineGA4Monthly
Example numbers for a fictional business. Owners: the front desk fills in the customer log every day; the owner reads the numbers every Monday.

Self-checkWhich of these is the macro conversion for Örnek Oto Servis?

Self-checkWhich source can tell you how many leads became paid jobs?

Sources for this section
  1. Google Ads Help — Track clicks on your website as conversions (checked Oct 2026)
  2. Google Ads Help — About Google forwarding numbers (checked Oct 2026)
  3. CallRail — BraBos Cleaning case study (10 Sep 2026)
  4. Google Ads Help — About access levels in your Google Ads account (checked Oct 2026)
  5. Google Analytics Help — Add, edit and delete users (checked Oct 2026)
  6. Chatfuel docs — Partner access to the client's Meta portfolio (secondary, checked Oct 2026)

Section 02 / 14

The journey of a click

Read
10 min
Builds on
Section 01
You will be able to
Follow one click from an ad to a report, and say which tool sees each step and which steps no tool sees.

Before you install anything, follow one click from start to finish. Each tool in this guide does one job on this path. Once you know where a tool sits, you know what it can see and what it cannot.

1 · Source 2 · Link 3 · Website 4 · Tags 5 · Tools Google ad search result Meta ad or post Instagram, Facebook QR on a flyer print, stickers Google Maps GBP website link + gclid (auto) + UTMs + fbclid + UTMs (redirect) + UTMs Website landing page tap call tap WhatsApp send form GTM Google tag Meta Pixel GA4 Google Ads Meta Events Manager Reports Offline lane · no tag sees this Real call, chat or walk-in Front desk asks "Bizi nereden duydunuz?" Customer log job + invoice (TL) upload later
One click, five stops. The source adds an ID or you add labels to the link; the website loads the tags; the tags send events to each tool; each tool shows its own reports. Calls, chats and walk-ins never pass through a tag, so the front desk writes them in the customer log, and you can upload paid jobs to Google and Meta later.

The tools, one line each

ToolIts job on the pathSection
UTM parametersLabels you add to a link (utm_source=instagram) so Google Analytics knows where the visit came from.03
Click IDsIDs that ad platforms add to links by themselves: gclid (Google Ads), fbclid (Meta), ctwa_clid (Click-to-WhatsApp chats).03, 07
Google Analytics 4 (GA4)Google's free website statistics: visits, where they came from, and what people did.04
Google tagGoogle's code on your pages that sends data to GA4 and Google Ads.04, 05
Google Tag Manager (GTM)One free container that holds all your tags, so you can add or change tracking without editing the website each time.05
Google Ads conversion trackingCounts leads after ad clicks and feeds Google's automatic bidding.06
Meta PixelMeta's code in the visitor's browser that reports visits and actions to Meta.07
Conversions API (CAPI)Your server or customer system sends the same events to Meta directly, without the browser.07
Meta Events ManagerThe place in Meta where you see and test the events that arrive from the Pixel and CAPI.07
Call trackingDifferent phone numbers per channel, so the phone system shows where real calls came from.08
Customer logYour own sheet or CRM: who contacted you, from where, which job, how much was paid.09
Search Console, GBP PerformanceFree Google reports on searches, clicks, calls and direction requests.10
Data Studio (named Looker Studio until April 2026)Free dashboards that pull numbers from several tools onto one page.12

Labels that travel with the click

When someone clicks an ad, the platform can add an ID to the link. Google Ads adds gclid when auto-tagging is on, and auto-tagging is now on by default for new accounts Google Ads Help, Oct 2026. Meta adds fbclid, but Google Analytics does not use it to decide where a visit came from. For Meta ads, posts, emails, QR codes and your Google Maps listing, you add your own labels, called UTM parameters (Section 03).

Where data gets lost on the way

  • Visits are fewer than clicks. People leave before the page loads, reject cookies (small files a website stores in the browser to recognise a visitor), use ad blockers, or the tag is missing on the landing page.
  • WhatsApp hides the source. Links opened from WhatsApp usually arrive with no referrer (the note that tells a site which page sent the visitor), so without UTMs they look like "Direct" visits.
  • Apple removes some labels. Link Tracking Protection removes tracking parameters from links shared in Messages and Mail and in Safari Private Browsing (announced for iOS 17) Apple, Jun 2023.
  • Safari shortens cookie life. Safari blocks all third-party cookies, and caps cookies set by scripts to 24 hours when the visitor arrives from a known tracking site through a link with click IDs WebKit, Oct 2026.
  • Phones and doors have no tags. A real call, a chat or a walk-in only reaches a report if someone writes it down.

Self-checkWhich ID does Google Ads add to the link by itself when auto-tagging is on?

Sources for this section
  1. Google Ads Help — About auto-tagging (checked Oct 2026)
  2. Google Analytics Help — Traffic-source dimensions, manual tagging and auto-tagging (checked Oct 2026)
  3. Apple Newsroom — new privacy features incl. Link Tracking Protection (Jun 2023)
  4. WebKit — Tracking Prevention in WebKit (checked Oct 2026)

Section 03 / 14

UTM links

Read
15 min
Builds on
Section 02
You will be able to
Build correctly labelled links for Meta ads, posts, emails, QR codes and your Google Maps listing, and know when to add no labels at all.

When a visit arrives without labels, Google Analytics guesses where it came from. The guesses are often wrong: paid Meta clicks can show up as "Organic Social" or "Referral", and links opened from WhatsApp or a QR code look like "Direct". UTM labels remove the guessing. They cost nothing and take a minute per link.

The parameters

ParameterWhat it saysÖrnek exampleStatus in GA4
utm_sourceWho sent the visitinstagramAlways set
utm_mediumWhat kind of link it ispaid_socialAlways set; decides the channel group
utm_campaignWhich campaignkis_bakimi_2026_11Always set
utm_contentWhich ad or versionvideo_usta_aOptional; use it to compare ads
utm_termKeyword, audience or areaumraniye_5kmOptional
utm_idCampaign IDa Meta campaign IDOptional; supported
utm_source_platformExtra parameter GA4 accepts—Supported; a small shop rarely needs it
utm_creative_format, utm_marketing_tacticExtra parameters GA4 accepts—Google says they "aren't currently reported"
Parameter list and status from Google Google Analytics Help, Oct 2026. Google's advice: always use source, medium and campaign.

Naming rules

Google states that "parameter values are case sensitive" Google Analytics Help, Oct 2026. So Instagram, instagram and IG become three separate rows in your reports. Fix the spelling once and never improvise:

  • Lowercase only. No spaces.
  • No Turkish letters (ç ğ ı İ ö ş ü). They turn into codes like %C4%B1 and split reports. Write kis_bakimi, not kış_bakımı.
  • Use underscores between words, no spaces and no hyphens, so every value follows one pattern (kis_bakimi_2026_11). This course uses underscores everywhere.
  • Put the year and month in campaign names, so next year's winter campaign gets its own row.
  • Use only values from your naming list, and keep every tagged link in one "UTM log" sheet (date, link, source, medium, campaign, content, where it was used).

Örnek Oto Servis naming list

ParameterAllowed values
utm_sourcefacebook, instagram, google (Maps listing link only), whatsapp, newsletter, sms, flyer, banner, sticker, partner_{name}
utm_mediumpaid_social, social, email, sms, referral, print, organic (Maps listing link only). Google Ads: none, auto-tagging does it.
utm_campaign{service}_{theme}_{yyyy}_{mm} → kis_bakimi_2026_11, fren_kontrol_2026_10, lastik_degisim_2026_11; always-on: marka_genel, gbp_listing, bio_link
utm_content{format}_{message}_{variant} → video_usta_a, carousel_fiyat_b, story_kampanya_a, flyer_a5_a
utm_termaudience or area → umraniye_5km, retarget_site_30g
Example naming list for a fictional business.

How utm_medium decides the channel

GA4 sorts every visit into a default channel group using fixed rules. The medium you choose decides most of it Google Analytics Help, Oct 2026:

utm_mediumTypical sourceGA4 default channelWhy
paid_socialfacebook, instagramPaid SocialThe medium matches GA4's paid pattern (paid…, …cp…, ppc, retargeting) and the source is a social site.
socialinstagram, whatsappOrganic Socialsocial is on GA4's organic-social medium list (with social-network, social-media, sm).
emailnewsletterEmailSource or medium matches email, e-mail, e_mail.
smssmsSMSSource or medium is exactly sms.
referralpartner_{name}ReferralMedium is referral, app or link.
organicgoogleOrganic SearchMedium is exactly organic.
printflyer, stickerUnassignedNo default rule matches. That is fine: filter by campaign or source.
organic_socialinstagramOrganic Social, but only thanks to the sourceNot on the medium list. social is the safer choice.
noneGoogle Ads clickgoogle / cpcRead from the auto-tagged gclid.

When not to add UTMs

Google Ads: leave the links clean. Auto-tagging adds gclid, and when both are present GA4 "uses the auto-tagged values for source, medium, and other traffic-classification dimensions" Google Analytics Help, Oct 2026. Half-finished manual UTMs on Google Ads only create (not set) rows. Check that auto-tagging is on in Google Ads › Admin › Account settings › Auto-tagging (path not re-verified). Add manual UTMs only if another tool, such as a call-tracking service, needs them, and then add the full set.

Links inside your own website (a banner on your home page pointing to the winter offer): do not tag them. A UTM on an internal link overwrites the real source of the visit. This is widely given advice; it was not re-checked on a Google page.

Where Örnek uses UTMs

  1. Meta ads

    Add UTMs to every Meta ad, or paid clicks often show up as Organic Social or Referral. In Ads Manager, at the ad level, use Tracking › URL parameters (path not re-verified). The safe way is a fixed string per ad:

    utm_source=instagram&utm_medium=paid_social&utm_campaign=kis_bakimi_2026_11&utm_content=video_usta_a

    Dynamic parameters. Meta can also fill in values by itself when someone clicks. You type a placeholder in double curly brackets, and Meta swaps it for the real value. Eight placeholders are listed: {{campaign.name}}, {{campaign.id}}, {{adset.name}}, {{adset.id}}, {{ad.name}}, {{ad.id}}, {{site_source_name}} and {{placement}}. They go in the ad's Destination › URL parameters field below the website address, not inside the address itself Terminus, Sep 2026. {{site_source_name}} fills in a short network code: fb, ig, an (Audience Network) or msg (Messenger) Craftshift, Jul 2026. Both are secondary sources; Meta's own help page did not load for this check (Oct 2026). A dynamic string for Örnek:

    utm_source=instagram&utm_medium=paid_social&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_id={{campaign.id}}

    Meta copies names exactly as typed, so name Meta campaigns and ads with the same rules as UTMs: lowercase, underscores, no Turkish letters (kis_bakimi_2026_11, video_usta_a). The ID keeps working even if you rename a campaign later. After launch, open GA4 Reports › Acquisition › Traffic acquisition and check that the visits show as Paid Social. Whether GA4 recognises fb and ig as social sources was not verified, so this guide keeps a fixed utm_source (instagram or facebook) per ad instead of {{site_source_name}}.

  2. Google Business Profile website link

    The visit stays in Organic Search, and you can filter campaign = gbp_listing to separate Maps visits from normal Google search visits.

    https://ornekotoservis.com.tr/?utm_source=google&utm_medium=organic&utm_campaign=gbp_listing
  3. Instagram bio link and WhatsApp status

    Organic posts use utm_medium=social: ?utm_source=instagram&utm_medium=social&utm_campaign=bio_link and ?utm_source=whatsapp&utm_medium=social&utm_campaign=kis_bakimi_2026_11.

  4. QR codes on flyers, invoices and car stickers

    Print a short address you control, for example ornekotoservis.com.tr/kis, and let it redirect to the tagged link. The printed code then never has to change. The visits appear as Unassigned (no rule matches print); filter by campaign, or create a custom channel group "Offline/Print" in Admin › Data display › Channel groups (path not re-verified).

    https://ornekotoservis.com.tr/kis-bakimi?utm_source=flyer&utm_medium=print&utm_campaign=kis_bakimi_2026_11&utm_content=flyer_a5_a
  5. Newsletter and SMS

    utm_medium=email for emails; utm_source=sms or utm_medium=sms for text messages.

Build a link

Fill in the fields. The builder makes everything lowercase, changes spaces and hyphens to underscores, replaces Turkish letters and warns you about common mistakes. Google's own Campaign URL Builder does the same job without the warnings.

UTM link builder

Your link
https://ornekotoservis.com.tr/kis-bakimi?utm_source=instagram&utm_medium=paid_social&utm_campaign=kis_bakimi_2026_11&utm_content=video_usta_a
Expected GA4 channelPaid Social

    Self-checkÖrnek starts a Google Ads search campaign. Which UTMs should it add to the ad links?

    Self-checkOne flyer QR uses utm_source=Flyer, another utm_source=flyer. What do you see in GA4?

    Sources for this section
    1. Google Analytics Help — URL builders: collect campaign data with custom URLs (checked Oct 2026)
    2. Google Analytics Help — Default channel group (checked Oct 2026)
    3. Google Analytics Help — Traffic-source dimensions, manual tagging and auto-tagging (checked Oct 2026)
    4. Google Ads Help — About auto-tagging (checked Oct 2026)
    5. Google — Campaign URL Builder
    6. Terminus — Meta (Facebook) ads UTM tracking (updated 16 Sep 2026, secondary)
    7. Craftshift — Facebook and Meta UTM links (7 Jul 2026, secondary)

    Section 04 / 14

    Google Analytics 4

    Read
    18 min
    Builds on
    Sections 02–03
    You will be able to
    Set up a GA4 property correctly on day one, mark the right key events, and answer "how many people came from my ad, and how many of them tapped call or WhatsApp?"

    Google Analytics 4 (GA4) is Google's free website statistics tool. It counts visits, reads where each visit came from (Section 03), and records what people did on the site. It cannot see calls, chats or invoices, but it is the one tool here that shows website visits from every source side by side.

    Set up a new property

    1. Create the account and property

      At analytics.google.com go to Admin › Create › Account (business name), then Property. Set the reporting time zone to Türkiye and the currency to Turkish lira (TRY). Fill in the business details and choose the lead-generation business objective.

    2. Create a web data stream

      Enter the site address, keep Enhanced measurement switched on, and copy the Measurement ID (G-XXXXXXX).

    3. Install the tag, with one method only

      Through Google Tag Manager (recommended, Section 05), directly in the <head> of every page, or through a plugin such as Site Kit by Google for WordPress. Two methods at once count every visit twice.

    4. Set data retention to 14 months on day one

      Admin › Data collection and modification › Data retention › Event data retention = 14 months › Save. The default is 2 months, and the change does not work backwards Google Analytics Help, Oct 2026.

    5. Filter your own staff (optional)

      Define the shop's IP address as internal traffic and filter it, so the team's daily visits for prices and the address do not count. The setting is under the data stream's Configure tag settings (path not re-verified).

    6. Link Google Ads and Search Console

      Admin › Product links › Google Ads links and Admin › Product links › Search Console links. Details below.

    7. Check that data arrives

      Open Reports › Realtime and visit the site from your phone. For single events, use DebugView (GA4's live list of events from a test device) together with GTM Preview, the test mode of Tag Manager (Section 05).

    8. Mark key events

      After your events have fired at least once: Admin › Data display › Events, then click the star next to click_to_call, whatsapp_click and generate_lead.

    What enhanced measurement gives you, and what it does not

    With enhanced measurement on, GA4 records these events without extra setup Google Analytics Help, Oct 2026:

    EventWhat it recordsGood enough for leads?
    page_viewA page loadedNo
    scrollVisitor reached 90% of the pageNo
    clickClick on a link to another siteWhatsApp links show up here only as generic outbound clicks
    view_search_resultsA search on your siteNo
    video_start, video_progress, video_completeEmbedded YouTube videosNo
    file_downloadA file such as a PDF price listNo
    form_start, form_submitSomeone starts or submits a formNot reliable: form_submit fires on the attempt and does not know if sending worked
    There is no event for taps on a phone number (tel:). You add click_to_call, whatsapp_click and generate_lead yourself (Section 05).

    Events, key events and conversions

    All events page_view scroll click form_start click_to_call whatsapp_click generate_lead mark as key event Key events · GA4 click_to_call whatsapp_click generate_lead max 30 per property link + import Google Ads conversion actions Lead – Phone click (web) Lead – WhatsApp click (web) Lead – Form (web) Since March 2024 GA4 says "key event"; "conversion" is the Google Ads word.
    Three layers, three names. GA4 records every event. You star the few that matter as key events. Google Ads can use them as conversion actions, either imported from GA4 or counted by its own tag (Section 06).
    • How to mark: Admin › Data display › Events → star icon, or + Create event with "Mark as key event" switched on. Changes can take up to 24 hours to show in standard reports. Unmarking does not delete past data Google Analytics Help, Oct 2026.
    • Limit: 30 key events per standard property (50 in the paid Analytics 360) Google Analytics Help, Oct 2026. You need three or four.
    • Counting: "once per session" usually fits leads; "once per event" fits purchases Analytics Mania, Oct 2026. With "once per event", a customer who refreshes the thank-you page counts as two leads.
    • Never mark page_view as a key event. It would count every page view as a lead.

    Recommended lead events

    Google recommends a set of event names for lead generation. If you use them, GA4 fills a Lead acquisition report Google Analytics Help, Oct 2026.

    Event nameGoogle's meaningAt Örnek
    generate_leadA form submitted online, or information given offlineContact or booking form sent
    working_leadThe person contacts, or is contacted by, a representativeService advisor called back
    qualify_lead / disqualify_leadThe lead is judged a real prospect, or notReal job request vs. spam or out of area
    close_convert_lead / close_unconvert_leadThe lead became a customer, or did notJob paid vs. lost

    The reports a beginner needs

    QuestionReport and menu path
    Where did visits come from?Reports › Acquisition › Traffic acquisition. Switch the first column between Session primary channel group, Session source / medium and Session campaign.
    How did new people first find us?Reports › Acquisition › User acquisition (First user source / medium)
    Which sources produce leads?Reports › Acquisition › Lead acquisition (appears when lead events such as generate_lead are used)
    How often did each action happen?Reports › Engagement › Events
    Which pages do people land on?Reports › Engagement › Landing page and Pages and screens
    Does tracking work right now?Reports › Realtime and DebugView
    Which channels share the credit? (later)Advertising › Attribution (Section 11)
    Report collections can differ by property. If a report is missing, look in Library (not re-verified for every property type).

    "How many people came from my ad?"

    1. Read ad clicks in the ad platform

      Google Ads shows "Clicks"; Meta shows "Link clicks". GA4 does not count ad clicks.

    2. Read visits in GA4

      Open Traffic acquisition, switch the first column to Session source / medium or Session campaign, find google / cpc or instagram / paid_social, and read Sessions.

    3. Expect fewer sessions than clicks

      People leave before the page loads, reject cookies or block ads, or the tag is missing on the landing page. A small gap is normal. A very large gap means a broken tag or a slow page.

    "How many of them tapped call or WhatsApp?"

    1. Stay in Traffic acquisition

      In the key events column, pick one key event, for example click_to_call, then whatsapp_click.

    2. Read the count per campaign or source

      This is the number of taps, not of finished calls or chats.

    3. Compare with the phone system

      For real calls, compare with the call log of the tracking number used for that channel (Section 08).

    Two settings that confuse beginners

    Data retention

    Standard properties keep event-level data for 2 or 14 months. The setting only affects explorations (custom analyses you build yourself) and funnel reports; standard reports are not limited by it. Default: 2 months. Not retroactive Google Analytics Help, Oct 2026.

    Thresholding

    GA4 hides rows to protect privacy when a report includes demographics, search queries, or very few users in a short date range. "Data thresholds are system defined. You can't adjust them." A wider date range often helps Google Analytics Help, Oct 2026.

    Link Google Ads and Search Console

    • Google Ads: Admin › Product links › Google Ads links. You need the Editor or Administrator role in GA4 and admin access in Google Ads. Ads data appears in GA4 within 48 hours Google Analytics Help, Oct 2026.
    • Search Console: Admin › Product links › Search Console links. This adds the "Google Organic Search Queries" and "Google Organic Search Traffic" reports. The report collection is unpublished by default; publish it from Library. One web stream links to one Search Console property Google Analytics Help, Oct 2026.

    Self-checkWhich action does GA4 enhanced measurement not record by itself?

    Self-checkYou change data retention from 2 to 14 months today. What happens to your explorations?

    Sources for this section
    1. Google Analytics Help — About key events (checked Oct 2026)
    2. Loves Data — Google Analytics key events (checked Oct 2026)
    3. Google Analytics Help — Configuration limits (checked Oct 2026)
    4. Google Analytics Help — Enhanced measurement (checked Oct 2026)
    5. Google Analytics Help — Recommended events (checked Oct 2026)
    6. Google Analytics Help — Data retention (checked Oct 2026)
    7. Analytics Mania — 2-month data retention (23 Mar 2025)
    8. Google Analytics Help — Data thresholds (checked Oct 2026)
    9. Google Analytics Help — Link Google Ads (checked Oct 2026)
    10. Google Analytics Help — Search Console link (checked Oct 2026)
    11. Analytics Mania — Track key events in GA4
    12. PPC Land — Site Kit Site Goals (Sep 2026, secondary)

    Section 05 / 14

    Google Tag Manager

    Read
    18 min
    Builds on
    Section 04
    You will be able to
    Track taps on the phone number, taps on WhatsApp links and successful form sends, send them to GA4, Google Ads and Meta, and test everything before it goes live.

    Without Tag Manager, every new piece of tracking means asking your web developer to edit the site. With it, the developer installs one container once, and you add or change tracking yourself. For a shop that needs the same three actions (call, WhatsApp, form) sent to three tools, GTM is the practical hub.

    Visitor taps the phone link GTM container Variable Click URL = tel:+90216XXXXXXX checked by Trigger TRG – tel click Click URL starts with "tel:" if true: fires Tag · GA4 event click_to_call Tag · Google Ads phone click conversion Tag · Meta Pixel Contact GA4 Google Ads Meta A tag fires only when its trigger's condition is true.
    Variable → trigger → tags. One tap on the phone link, one trigger, three tags. If the trigger's condition is wrong (for example it only checks wa.me while your button links to api.whatsapp.com), nothing fires and the lead is lost from every report.

    Set up the container

    1. Create the container

      At tagmanager.google.com create an account and a container with target platform Web. Install its two code snippets on every page (one in the <head>, one right after <body>), or use your website platform's GTM integration.

    2. Add the Google tag

      Tags › New › Google tag. Tag ID = your G-XXXXXXX. Trigger = Initialization – All Pages.

    3. Switch on built-in variables

      Variables › Configure: tick Click URL, Click Text, Click Element, Page Path, Page URL and Form ID.

    4. Add a Conversion Linker tag

      Tag type Conversion Linker on All Pages. It stores Google's click ID so that later conversions can be matched to the ad click.

    Track taps on the phone number

    1. Trigger

      Triggers › New › Click – Just Links › Some Link Clicks, condition Click URL starts with tel:. Name it TRG – tel click.

    2. GA4 event tag

      Tags › New › Google Analytics: GA4 Event. Event name click_to_call. Parameters: link_url = {{Click URL}}, page_path = {{Page Path}}. Trigger TRG – tel click.

    3. Google Ads tag (optional, for bidding)

      In Google Ads create a website conversion action of type click, for example "Lead – Phone click (web)". In GTM add a Google Ads Conversion Tracking tag with its Conversion ID and Conversion Label, on the same trigger Google Ads Help, Oct 2026.

    4. Meta tag (optional)

      A Meta Pixel Contact event on the same trigger (see below).

    Track taps on WhatsApp links

    WhatsApp buttons can link to several addresses. One GTM trigger cannot hold "OR" conditions, so use one regular expression (a pattern that matches several texts) Boei, Oct 2026:

    Trigger type:  Click – Just Links › Some Link Clicks
    Condition:     Click URL  matches RegEx
    Pattern:       wa\.me|api\.whatsapp\.com|web\.whatsapp\.com|^whatsapp:
    Name:          TRG – whatsapp click
    GA4 event:     whatsapp_click   (same parameters as click_to_call)

    If the WhatsApp button is a floating widget that is not a normal link (an iframe or a script button), use Click – All Elements with a CSS selector, or the widget's own dataLayer event (a message the page code sends to GTM). Test it in Preview.

    Track forms that were really sent

    1 · Thank-you page (best)

    Set the form to open /tesekkurler (thank you) only after a successful send. Trigger: Page View › Some Page Views › Page Path equals /tesekkurler → GA4 event generate_lead, plus the Google Ads conversion tag and Meta Lead (Meta Schedule for bookings).

    Hide the page from menus and search (noindex) so random visits do not count.

    2 · Plugin success event

    Many form plugins push a dataLayer event when sending works. Use a Custom Event trigger with that event name.

    3 · GTM Form Submission trigger

    Switch on "Check Validation". It often fails with forms that send without reloading the page (AJAX forms), so test carefully.

    Do not rely on enhanced measurement's form_submit as your only lead count. It fires on the attempt and does not know whether the message arrived.

    Track the "Yol tarifi al" link

    Many repair customers want to know where the shop is before they drive over. If your website has a Yol tarifi al (get directions) button that opens Google Maps, track it the same way as the phone link. Google Maps links come in a few forms, so one regular expression covers them all:

    Trigger type:  Click – Just Links › Some Link Clicks
    Condition:     Click URL  matches RegEx
    Pattern:       google\.[a-z.]+/maps|maps\.google\.|maps\.app\.goo\.gl|goo\.gl/maps
    Name:          TRG – directions click
    GA4 event:     directions_click   (same parameters as click_to_call)
    Meta event:    FindLocation (optional)

    Two rules keep this count honest. First, write every pattern into one condition: if you add two "Click URL contains" lines to the same trigger, GTM fires only when both are true, so it never fires. Second, a directions tap shows interest; it does not prove the person came. Count directions_click as a secondary signal in GA4 (a key event only if you want it in reports), and do not make it a Primary conversion in Google Ads. Most direction requests happen on Google Maps itself, not on your site; you read those in the Business Profile Performance report (Section 10).

    Send the same actions to Meta

    • Add the Meta Pixel base code on all pages, from the GTM Community Template Gallery or as Custom HTML, and only after the visitor's cookie consent (Section 13).
    • Event tags: fbq('track','Contact') on the phone and WhatsApp triggers, fbq('track','Lead') on the thank-you page, fbq('track','Schedule') for finished bookings.
    • If you also send events from your server (Conversions API, Section 07), pass the same event ID from both sides so Meta counts each action once Meta for Developers, Oct 2026.

    Test, then publish

    1. Preview

      In the workspace click Preview, enter the site address, click Connect, then Continue in the Tag Assistant tab Tag Manager Help, Oct 2026.

    2. Do each action once

      Tap the phone link, tap the WhatsApp button and send a test form. In Tag Assistant every tag should show "Fired" exactly once.

    3. Check the receiving tools

      GA4 DebugView or Realtime, the Google Ads conversion status, and Meta Events Manager › Test events.

    4. Publish with a name

      Submit, write a version name such as "v3 – tel + whatsapp + form", then Publish. Since 17 September 2026 GTM can suggest an AI-written version summary Tag Manager release notes, Sep 2026.

    5. Check again after 24–48 hours

      Mark the new GA4 events as key events, and compare the counts with the calls and form emails you really received.

    Self-checkYour WhatsApp button links to api.whatsapp.com, but your trigger only checks "Click URL contains wa.me". What happens?

    Self-checkWhy is a thank-you page the best way to count form leads?

    Sources for this section
    1. Tag Manager Help — Release notes (Google tag rename 2023; tag gateway 2025; version summaries 2026)
    2. Tag Manager Help — Preview and debug containers (checked Oct 2026)
    3. Google for Developers — Google tag gateway
    4. PPC Land — Google tag gateway explainer
    5. Google Ads Help — Track clicks on your website as conversions (checked Oct 2026)
    6. Boei — Track WhatsApp clicks with Google Tag Manager
    7. Martech Zone — Track tel: clicks with Google Tag Manager
    8. Analytics Mania — Track key events in GA4
    9. Meta for Developers — Conversions API server event parameters

    Section 06 / 14

    Google Ads conversion tracking

    Read
    12 min
    Builds on
    Sections 04–05
    You will be able to
    Choose how Google Ads counts leads, avoid double counting, plan offline uploads of paid jobs, and know what Google cannot count in Türkiye.

    Google Ads uses the conversions you give it to decide whom to show ads to and how much to bid. If you count the wrong thing, it optimises for the wrong thing. This section covers only the measurement side; campaigns and bidding are in the Google Ads deep dive.

    Three ways to count

    Google Ads tag via GTM

    Create the action in Goals › Conversions › Summary › + New conversion action › Website (path not re-verified) and fire it from GTM (Section 05).

    • Built for bidding; supports enhanced conversions (explained below)
    • One more set of tags to maintain

    The most common choice for lead generation.

    Import GA4 key events

    After linking GA4 and Google Ads, create conversion actions from GA4 key events.

    • One definition for both tools; easy
    • GA4 counting and credit rules differ from Google Ads; can arrive later

    Offline: paid jobs

    Upload leads that became jobs, with their value, through Data Manager, Google's tool for bringing in your own data (sheet, file or CRM).

    • Teaches Google which clicks become paying customers
    • Needs a disciplined customer log and KVKK care (Section 13)

    Örnek's conversion actions

    Conversion actionCounted byPrimary?
    Lead – Form (web)Thank-you page /tesekkurlerPrimary
    Lead – Phone click (web)GTM trigger on tel: linksPrimary (a tap, not a confirmed call)
    Lead – WhatsApp click (web)GTM trigger on WhatsApp linksPrimary or Secondary: decide after checking chat quality
    Directions (local actions)Created automatically when location assets (your Business Profile address shown with the ad) are activeSecondary at first
    Job completed (offline import)Weekly upload from the customer logLater, after 4+ weeks side by side
    Page views, scroll, time on site—Never
    Example setup. For Search campaigns, Google says only the directions action of local actions can be used for bidding Google Ads Help, Oct 2026.

    Give each action a value so bidding knows which matters more. Work it out from your own numbers: value of a lead ≈ lead-to-job rate × gross profit per job. With Örnek's example numbers, if 4 in 10 form leads become jobs worth 3,200 TL gross profit, a form lead is worth about 0.4 × 3,200 = 1,280 TL. Use a lower value for an action that converts worse.

    Enhanced conversions and offline uploads

    • Enhanced conversions send a hashed (SHA-256, a one-way scrambling) email or phone number from your form, so Google can match more conversions to ad clicks. "As of April 2026, enhanced conversions for web and leads are now combined into a single on/off setting." You must accept Google's customer data terms Google Ads Help, Oct 2026.
    • Offline conversion import (GCLID method): save the gclid from the landing address in a hidden form field so it arrives with the lead. Create an Import conversion action such as "Job completed (offline)". Every week, upload Google Click ID, conversion name, conversion time with time zone (2026-10-01 14:30:00+03:00), value and currency (TRY) through Data Manager.
    • Google's recommendation: "If you have not already adopted offline conversion import, we recommend starting with enhanced conversions for leads instead." Google reports a "median 10% increase in conversions" (vendor claim) Google Ads Help, Oct 2026. Run old and new actions side by side for "1–2 conversion cycles or 4 weeks" before making the new one Primary Google Ads Help, Oct 2026.

    Calls from Google Ads in Türkiye

    Google says that tracking call conversions from ads and from a website, and importing call conversions, "require Google forwarding numbers" Google Ads Help, Oct 2026. Google forwarding numbers are available in 30 listed countries, and Türkiye is not on the list Google Ads Help, Oct 2026. In practice:

    Does not work in Türkiye

    • "Calls from ads" with call length
    • Calls to a number on your website, through forwarding numbers
    • Imported calls

    Works

    • Taps on the phone number on your mobile site (a click, not a call)
    • WhatsApp taps and form leads
    • Directions from location assets
    • Offline uploads of paid jobs
    • A separate phone number in the call asset (the phone number shown with your ad), so your phone system's log shows real calls from Google Ads (Section 08)

    Google's page also lists a "call ad clicks" option that counts clicks on call assets without forwarding numbers. This was not tested in a Turkish account (Oct 2026). If you use it, treat it as clicks, not calls.

    Deep dive
    Google Ads
    Campaign setup, keywords, bidding, budgets and the weekly optimisation routine.

    Self-checkCan Örnek's Google Ads account count calls from its call asset, with call length, in Türkiye?

    Sources for this section
    1. Google Ads Help — Primary and secondary conversion actions
    2. Google Ads Help — Import GA4 key events into Google Ads
    3. Google Ads Help — Local actions conversions
    4. Google Ads Help — Enhanced conversions for leads
    5. Google Ads Help — Offline conversion imports
    6. Google Ads Help — Upgrade to enhanced conversions for leads (15 June 2026 notice)
    7. Google Ads API — Upload offline conversions
    8. Google Ads Help — Phone call conversion tracking
    9. Google Ads Help — Google forwarding numbers (country list)
    10. Google — EU user consent policy

    Section 07 / 14

    Meta Pixel and Conversions API

    Read
    15 min
    Builds on
    Sections 02, 05
    You will be able to
    Explain why Meta needs both the Pixel and the Conversions API, choose the right standard events, test them, and measure what happens after a Click-to-WhatsApp chat.

    Meta decides who sees your ads partly from the events it receives. If it only sees clicks, it finds people who click. If it sees leads and booked jobs, it can look for people who book. The Pixel and the Conversions API are the two roads those events travel on.

    Visitor taps WhatsApp Browser path Meta Pixel (browser) Contact · event_id a1b2 can be lost: ad blockers, no consent, browser limits Server path Conversions API (server) Contact · event_id a1b2 server to server Offline Customer log: job paid Purchase · 8,000 TL CAPI · physical_store Meta dataset Events Manager Dedup rule same event_name + same event_id = counted once
    Two roads, one count. The browser road is easy to set up but loses events. The server road is more robust. Send both with the same event name and event ID, and Meta keeps one. Paid jobs from your log can travel the server road too.

    Meta says advertisers who use the Conversions API together with the Pixel saw on average "17.8% lower cost per result". In April 2026 it announced a free one-click "Meta-enabled" Conversions API setup Meta, Apr 2026. Both are Meta's own claims about its own product.

    Standard events for a repair shop

    Meta eventMeta's definitionAt Örnek
    Contact"When a person initiates contact with your business via telephone, SMS, email, chat, etc."Tap on phone or WhatsApp
    Lead"When a sign up is completed"Form sent (thank-you page)
    Schedule"When a person books an appointment to visit one of your locations"Online booking finished
    FindLocationListed among Meta's standard eventsDirections button (optional)
    Purchase with valueUsed for completed sales, also by the Conversions APIPaid job, sent later through CAPI
    Meta lists 17 standard events in total Meta for Developers, Oct 2026.

    Set it up

    1. Create the dataset and install the Pixel

      Events Manager › Connect data sources › Web, then create or choose a dataset (Pixel). Install it through a website-platform integration (WordPress, Wix, Shopify), through GTM (Section 05), or as code.

    2. Pick the simplest Conversions API route that works

      A partner integration in your website platform; the one-click Meta-enabled setup if your account offers it; the Conversions API Gateway, which runs in your own AWS or Google Cloud account where "the only cost … is the associated cloud resource or partner fees" Meta for Developers, Oct 2026; server-side GTM (more technical); or direct code by a developer.

    3. Deduplicate

      Send the same event_name and event_id from browser and server Meta for Developers, Oct 2026.

    4. Test

      Events Manager › your dataset › Test events. Open your site, trigger Contact and Lead, and check that both "Browser" and "Server" appear and are deduplicated.

    5. Verify your domain

      Business settings › Brand safety › Domains, with an HTML file, a DNS TXT record or a meta tag. It proves you own the domain and controls who can edit link previews in ads pointing to it Meta for Developers, Oct 2026.

    6. Check Event Match Quality

      Events Manager shows an Event Match Quality score per event: how well Meta can match your events to people. More customer details (hashed email or phone), sent only with consent, improve it. The scoring details were not re-verified for this guide.

    Measuring Click-to-WhatsApp ads

    Free WhatsApp Business app

    Ads Manager reports messaging conversations started. Meta does not see what happens later in the chat.

    Low-tech fix: use app labels such as Reklam – Instagram (ad – Instagram), Randevu verildi (appointment given) and İş tamamlandı (job done), and copy the counts into the customer log every week.

    WhatsApp Business Platform

    To report leads, bookings or sales from the chat back to Meta, you need the WhatsApp Business Platform (Cloud API, usually through a provider) plus the Conversions API for Business Messaging: action_source=business_messaging, messaging_channel=whatsapp, the ctwa_clid, and events such as LeadSubmitted, QualifiedLead and Purchase. The On-Premises API was sunset on 23 October 2025 Meta for Developers, Oct 2026.

    Sending paid jobs to Meta

    Meta's separate Offline Conversions API was discontinued on 14 May 2025 Jon Loomer, Oct 2026 CustomerLabs, Oct 2026 (secondary sources). Offline events now go through the normal Conversions API to the same dataset, for example a Purchase with value and an action_source that says where it happened:

    action_source valueUse at a repair shop
    physical_storeJob done and paid in the shop
    phone_callLead or booking taken by phone
    business_messagingEvents from a WhatsApp, Messenger or Instagram chat
    system_generatedEvents created by your CRM
    website, chat, email, app, otherOther places
    Values from Meta's server-event parameters page. "The event_time can be up to 7 days before you send an event." Some third-party guides give a longer window for in-store events; that was not verified on Meta's own page.
    Deep dive
    Meta Ads
    Objectives, audiences, Click-to-WhatsApp and lead form campaigns, budgets and reading results.

    Self-checkThe Pixel and the Conversions API both send the same Lead. How does Meta avoid counting it twice?

    Self-checkÖrnek uses the free WhatsApp Business app. What can Meta report for its Click-to-WhatsApp ads?

    Sources for this section
    1. Meta for Developers — Meta Pixel reference (standard events)
    2. Meta for Developers — Conversions API server event parameters
    3. Meta for Developers — Conversions API for Business Messaging
    4. Meta for Developers — Conversions API Gateway
    5. Meta for Developers — Domain verification
    6. Meta — Pixel and Conversions API updates (15 Apr 2026)
    7. Jon Loomer — Offline Conversions API deprecation (secondary)
    8. CustomerLabs — Offline events via the Conversions API (secondary)

    Section 08 / 14

    Calls, WhatsApp and walk-ins in Türkiye

    Read
    12 min
    Builds on
    Sections 01, 06
    You will be able to
    Count real calls, chats and walk-ins by channel with methods that work in Türkiye, from free questions to call-tracking numbers.

    Most repair customers phone, write on WhatsApp or simply drive in. These are exactly the contacts that website tags miss. In Türkiye the gap is wider, because Google Ads cannot count real calls here (Section 06). You close the gap with your own phone numbers and one good question.

    What the tools cannot see here

    • Real calls from Google Ads. No Google forwarding numbers in Türkiye, so no "calls from ads", no website call tracking through forwarding numbers and no imported calls Google Ads Help, Oct 2026.
    • Calls dialled by hand. Many people read the number from the site, from Google Maps or from a sticker and type it. No tap, no event.
    • Taps that never connect. A tel: tap opens the dialler; the person may hang up, or nobody answers.
    • Missed calls (cevapsız çağrılar). Only the phone system's log shows them. Unanswered calls in busy hours can be the largest hidden loss of all.
    • Word of mouth and passers-by. No tool sees a neighbour's tip or the sign over the door.

    Three main methods

    Static number per channel

    One extra phone number for each important channel. The phone system's call log shows which number was called.

    • Cost: a monthly fee per extra number (prices not checked)
    • Effort: low; set up once
    • Accuracy: good per channel, not per ad

    Dynamic numbers (DNI)

    The website shows a different number to each visitor, depending on where the visit came from, and the service reports the source of each call.

    • Cost: Zadarma lists a Turkish number at $7.50/month (monthly) or $5/month (yearly payment); dynamic tracking needs at least 2 numbers Zadarma, Oct 2026
    • Effort: medium; script on the site
    • Accuracy: per visitor source, incl. UTM labels

    Ask and log

    "Bizi nereden duydunuz?" asked at every first contact and written in the customer log, with fixed answer options.

    • Cost: free
    • Effort: daily staff discipline
    • Accuracy: depends on memory, but it is the only method that catches tips and passers-by

    Smaller methods that add detail

    MethodCostEffortWhat it shows
    Promo code per channel (INSTA-KIS, HARITA-KIS)FreeLowChannel of customers who use the offer
    QR code with UTMs on print (Section 03)FreeLowWebsite visits from each flyer or sticker
    Pre-filled WhatsApp text per channel, e.g. ?text=Merhaba%20(IG)FreeLowSource in the first chat message (feature not re-verified; test it)
    Separate SIM or mobile line for one campaignLine feeLowCalls from one test campaign

    Example providers (not tested)

    • Turkish cloud-PBX and number providers sell extra geographic numbers (coğrafi numara) or 0850 numbers with a call log: Netgsm (0850, geographic and 0800 numbers, Bulut Santral, "Çağrı Analizi", API), Bulutfon (0850 and geographic numbers, call dashboard, REST API) and Verimor (Bulut Santral, 0850, Sanal Santral). None of their homepages advertised dynamic number insertion or a Google Ads or GA4 integration when checked in October 2026. Prices were not checked.
    • Zadarma lists Turkey among its call-tracking countries; call tracking itself is free and you pay for the virtual numbers; it integrates with Google Analytics and shows UTM tags Zadarma, Oct 2026. Document requirements and number types for Türkiye were not verified.
    • International DNI vendors such as CallRail, CallTrackingMetrics and Ringostat: support for Turkish numbers was not confirmed.

    Self-checkWhich method is the only one that catches customers who came on a neighbour's recommendation?

    Sources for this section
    1. Google Ads Help — Google forwarding numbers (country list)
    2. Zadarma — Call tracking
    3. Zadarma — Number prices
    4. Netgsm, Bulutfon, Verimor — homepages (checked Oct 2026)
    5. Ringostat — Türkiye support not confirmed
    6. CallRail — BraBos Cleaning case study (10 Sep 2026)

    Section 09 / 14

    From lead to paid job

    Read
    15 min
    Builds on
    Sections 01, 08; Crash Course 03
    You will be able to
    Keep a customer log that links every lead to a job and an invoice, and work out cost per customer, ROAS and ROI per channel.

    Cost per lead is easy to read and often misleading. One channel can bring cheap leads that rarely turn into jobs. Another can bring fewer, more expensive leads that nearly all become paying customers. Only the cost per paying customer tells you where money should go, and only your customer log can give you that number.

    Ad spend 30,000 TL ÷ 500 TL per lead Leads 60 × 40% become jobs Paid jobs 24 × 8,000 TL per job Revenue 192,000 TL × 40% gross margin Gross profit 76,800 TL 500 TL per lead 1,250 TL per customer Ad platforms and GA4 see these Only your customer log sees these
    Where the money becomes visible. Example numbers for Örnek Oto Servis in one month. The ad tools stop at "leads". Jobs, revenue and profit exist only in the shop's own records.

    The customer log

    A Google Sheet is enough: one row per lead, filled in by the front desk at first contact and updated when the car comes in and when the invoice is paid. Turkish column names keep it natural for the team (Müşteri / Talep Takip Tablosu, customer and request tracking sheet).

    #ColumnWhat goes in it
    1Talep No (request no.)Running number
    2Tarih / saat (date, time)First contact
    3İletişim türü (contact type)Telefon / WhatsApp / Form / Walk-in / Instagram DM
    4Aranan hat (line called)Line A, B, C or main (from the phone system)
    5Bizi nereden duydunuz?Drop-down with the fixed answers (Section 08)
    6Kampanya / UTM / WA etiketiFrom the form's hidden fields or the WhatsApp pre-fill tag, e.g. "(IG)"
    7Click ID (gclid / ctwa_clid)Only if captured automatically
    8Ad / kısaltma (name or initials)Collect only what you need
    9TelefonOnly after the privacy notice (aydınlatma) was given
    10Aydınlatma yapıldı? / Pazarlama izni (İYS)?Yes/No + date (Section 13)
    11Araç (vehicle)Brand, model, year; avoid the plate unless the job record needs it
    12İstenen hizmet (service asked)Periyodik bakım, fren, lastik, motor arıza, elektrik, klima, kaporta-boya, diğer
    13Teklif (quote, TL)Price quoted
    14Durum (status)Yeni → Teklif verildi → Randevu → Geldi → İş tamamlandı / Kaybedildi
    15Kayıp nedeni (reason lost)Fiyat, uzak, cevapsız çağrı, yoğunluk, diğer
    16İş tarihi (job date)—
    17Fatura tutarı (invoice, TL, KDV hariç)Amount excluding VAT
    18Brüt kâr (gross profit, TL)Or margin %
    19Yeni / eski müşteriNew or returning customer
    20Platforma yüklendi mi?Date uploaded to Google or Meta, only if legally cleared
    Example column set. A pivot table on this sheet gives leads, jobs, revenue and gross profit per source per month.

    Match each lead to its job and its money

    1. Give every contact a row

      Calls, chats, forms and walk-ins, with the source answer, on the day they happen.

    2. Update the status as the car moves

      Quote given, appointment, car arrived, job done or lost. Find the row by Talep No or phone number.

    3. Add the invoice and gross profit

      When the job is paid, copy the amount excluding VAT and the gross profit from your accounting.

    4. Summarise monthly by source

      A pivot table: leads, jobs, revenue, gross profit per "Bizi nereden duydunuz?" answer and per line. Put ad spend next to it.

    The formulas

    CPL cost per lead

    ad spend ÷ leads

    30,000 ÷ 60 = 500 TL

    Close rate lead → job

    paid jobs ÷ leads × 100

    24 ÷ 60 = 40%

    Cost per customer CPA per job

    ad spend ÷ new paying customers

    30,000 ÷ 24 = 1,250 TL

    ROAS revenue per 1 TL of ads

    revenue ÷ ad spend

    192,000 ÷ 30,000 = 6.4

    ROI profit-based

    (gross profit − marketing cost) ÷ marketing cost

    (76,800 − 30,000) ÷ 30,000 = 156%

    Break-even max cost per customer

    average job value × gross margin

    8,000 × 40% = 3,200 TL

    ROAS uses revenue; ROI uses profit. A high ROAS can still lose money if the margin is thin. All numbers are examples.

    Every metric in one table

    Reports use many short names. This table lists them in funnel order, from the first view of an ad to the value of a customer over years. The example month is the same as above (30,000 TL spend, 60 leads, 24 paid jobs), with the ad-side numbers from the Crash Course: 100,000 impressions seen by 40,000 people, 2,000 clicks, 1,800 GA4 sessions. All are example numbers for the fictional Örnek Oto Servis.

    MetricWhat it meansFormulaÖrnek example
    ImpressionsTimes the ad was showncount100,000
    ReachDifferent people who saw the ad (Meta)count40,000
    FrequencyHow often each person saw it, on averageimpressions ÷ reach100,000 ÷ 40,000 = 2.5
    CTRClick-through rate: share of impressions that got a clickclicks ÷ impressions × 1002,000 ÷ 100,000 = 2%
    CPCCost per clickspend ÷ clicks30,000 ÷ 2,000 = 15 TL
    CPMCost per 1,000 impressionsspend ÷ impressions × 1,00030,000 ÷ 100,000 × 1,000 = 300 TL
    Engagement rateGA4: share of sessions that were "engaged", meaning they lasted longer than 10 seconds, had a key event, or had 2 or more page views Google Analytics Help, Oct 2026engaged sessions ÷ sessions × 1001,080 ÷ 1,800 = 60%
    CVRConversion rate: share of clicks that became leadsleads ÷ clicks × 10060 ÷ 2,000 = 3%
    CPL / CPACost per lead / cost per actionspend ÷ leads (or actions)30,000 ÷ 60 = 500 TL
    Close rateShare of leads that became paying customerspaid jobs ÷ leads × 10024 ÷ 60 = 40%
    Cost per customerAd cost of one new paying customerspend ÷ new paying customers30,000 ÷ 24 = 1,250 TL
    ROASReturn on ad spend: revenue per 1 TL of adsrevenue ÷ ad spend192,000 ÷ 30,000 = 6.4
    ROIReturn on investment: profit per 1 TL of marketing(gross profit − cost) ÷ cost × 100(76,800 − 30,000) ÷ 30,000 = 156%
    Break-even ROASThe lowest ROAS at which the ads pay for themselves on the first job1 ÷ gross margin1 ÷ 0.40 = 2.5
    LTVLifetime value: gross profit from one customer over the whole relationshipjob value × visits per year × years × margin8,000 × 2 × 3 × 40% = 19,200 TL
    CACCustomer acquisition cost: all costs of winning a new customer, including tools and staff time, not only ads(ads + agency + tools + staff time) ÷ new customers(30,000 + 6,000) ÷ 24 = 1,500 TL
    Example numbers. "Cost per customer" uses ad spend only; CAC adds the other costs (here an assumed 6,000 TL a month for tools and front-desk time). A ROAS below the break-even ROAS loses money on the first job; at Örnek's 40% margin that line is 2.5.

    Worked example: one month, two channels

    ChannelSpendLeadsJobsLead→jobRevenueCPLCost/job
    Google Ads (Search)18,000341647%128,0005291,125
    Meta (Click-to-WhatsApp)12,00026831%64,0004621,500
    Paid total30,000602440%192,0005001,250
    Example numbers in TL for the fictional Örnek Oto Servis: 30,000 TL monthly test budget, 60% Google and 40% Meta, average job 8,000 TL, gross margin 40%.
    • Gross profit: 192,000 × 40% = 76,800 TL. ROAS = 6.4. ROI = (76,800 − 30,000) ÷ 30,000 = 156%.
    • Break-even is 3,200 TL per customer. Both channels are well below it, so both pay back on the first job. Google is under the 1,500 TL target; Meta is exactly at it.
    • The lesson: Meta had the cheaper lead (462 TL vs. 529 TL) but the more expensive customer (1,500 TL vs. 1,125 TL), because fewer of its leads became jobs. Judged on cost per lead alone, you would move money the wrong way.
    • Repeat visits raise the value. If a customer returns about twice a year for three years, lifetime revenue is about 48,000 TL and lifetime gross profit about 19,200 TL (example). Count on this only if the log actually shows customers coming back (column 19).

    Lead-to-profit calculator

    Cost per lead500 TL
    New paying customers24
    Cost per new customer1,250 TL
    Revenue192,000 TL
    Gross profit76,800 TL
    ROAS6.4
    ROI (profit-based)156%
    Break-even per customer3,200 TL

    Healthy. A new customer costs 1,250 TL, less than half of the 3,200 TL gross profit from the first job.

    Self-checkIn the worked example, which channel brought cheaper customers?

    Sources for this section
    1. Course research notes: Marketing/research/ClaudeCode-R6-tracking-analytics.md (§7.3 customer log, §7.6 ROI method) and ClaudeCode-R1-marketing-fundamentals-and-turkiye.md (§1.11 metrics and break-even). Örnek Oto Servis numbers are the course's shared example numbers.
    2. Google Analytics Help — Engaged session and engagement rate definitions (checked Oct 2026)

    Section 10 / 14

    Free data you already have

    Read
    8 min
    Builds on
    Section 04
    You will be able to
    Read Search Console, Google Business Profile Performance and Meta's organic insights, and know what each number really counts.

    Three free reports show what happens before people reach your website: what they searched, how often they saw your Maps listing, and how your posts did. None needs a tag. Each counts something slightly different from what its name suggests.

    SourceWhat it showsWhereLimits
    Google Search ConsoleGoogle search queries that showed your site, with clicks, impressions, CTR and average position; views by query, page, country, device, search appearance and date; a 24-hour view with preliminary hourly dataPerformance › Search resultsGoogle search only. A "click" is any click that takes the user to a page outside Google Search, Discover or News Search Console Help, Oct 2026
    Google Business Profile PerformanceViews, Searches (search terms), Directions, Calls, Website clicks, BookingsYour profile › PerformanceCalls = "the number of times a customer clicked on the call button", not real calls. Views count one per person per day. Search terms update at the start of each month (up to 5 days late). Verified profiles only Business Profile Help, Oct 2026
    Meta Business Suite / Instagram professional dashboardReach, profile visits, link taps, messagesInsights (menu names not re-verified)Good for organic content trends; not for linking sales to posts

    How to use them together

    • Search Console tells you which searches find you without ads. If "fren balatası değişimi" (brake pad replacement) brings many impressions but few clicks, the page title or description needs work. It also helps pick Google Ads keywords. Linked to GA4 (Section 04), it adds two organic search reports there.
    • GBP Performance is the main free report for Maps. Compare its monthly "Calls" with the calls on line B (the number shown only on the profile). The gap shows how many taps did not turn into a call, or how many people dialled by hand.
    • The tagged GBP website link (utm_campaign=gbp_listing, Section 03) lets GA4 show what Maps visitors did on the site.
    • Meta insights show which organic posts reach people near the shop and lead to profile visits and messages. Use them to choose which posts to turn into ads.

    One free extra: Microsoft Clarity

    GA4 tells you how many people left a page without calling. It does not show why. Microsoft Clarity fills that gap. It shows heatmaps (a picture of the page coloured by where people tap and how far they scroll) and session recordings (a replay of one visit: where the visitor tapped, scrolled, hesitated and left). Microsoft describes it as "always free" with no traffic limits Microsoft Clarity, Oct 2026.

    1. Create a project

      Sign in at clarity.microsoft.com, add a project for the website, and copy its tracking code or project ID.

    2. Install it through GTM, behind consent

      Clarity sets cookies and sends visit data to Microsoft, so treat it like GA4: put it in the analytics category of your cookie banner and fire it only after consent (Section 13). For visits from the EEA, the UK and Switzerland, Clarity has required a consent signal since 31 October 2025 PPC Land, Aug 2025.

    3. Watch 10–15 recordings a month

      Filter to mobile visits on your key pages (the booking form, the price page). Note where people stop, tap on things that are not links, or never reach the WhatsApp button.

    Bing and Yandex: how much do they matter?

    73.42%Google's share of search in Türkiye, September 2026 StatCounter, Sep 2026
    25.19%Yandex's share in the same month
    0.71%Bing's share in the same month

    For a Turkish shop, Google's free reports (Search Console, Business Profile) come first. Yandex is large enough that you should check how your shop appears on Yandex Maps and in Yandex search (see the SEO & Local Search deep dive). Bing is small in Türkiye, so the Microsoft Advertising conversion tag (UET) is only needed if you actually run Bing ads. Read these shares as one measurement company's estimate, not an exact count.

    Self-checkGoogle Business Profile shows 45 "Calls" this month. What does that number count?

    Sources for this section
    1. Search Console Help — Performance report
    2. Search Console Help — About performance data
    3. Business Profile Help — Performance metrics
    4. Microsoft Clarity — product page ("always free", no traffic limits; checked Oct 2026)
    5. PPC Land — Microsoft Clarity enforces cookie consent across Europe (27 Aug 2025)
    6. StatCounter — Search engine market share, Turkey (Sep 2026)

    Section 11 / 14

    Attribution: why the numbers differ

    Read
    14 min
    Builds on
    Sections 04–09; Crash Course 13
    You will be able to
    Explain why Google Ads, Meta and GA4 never agree, and judge your marketing with numbers that do not depend on any platform's rules.

    Add up the conversions that Google Ads and Meta report, and the total is often higher than the number of customers who actually came. Each tool follows its own counting and credit rules, so the totals differ. Once you know the rules, the gaps stop being alarming.

    Five reasons the numbers never match

    • Different counting: a GA4 session, a Google Ads click and a Meta link click are different things.
    • Self-credit: each ad platform credits its own ads. GA4 spreads credit across channels.
    • Different windows: Meta can count a conversion days after a click, or a day after a view without any click.
    • Missing data: rejected cookies, ad blockers, iOS and Safari limits.
    • Estimates: Google and Meta model some conversions they cannot see.
    Clicks Instagram ad, looks, leaves Searches, clicks Google ad, leaves Types the address, taps call Car in, job paid 8,000 TL Mon Wed 11:00 Wed 19:00 Sat Meta Link click Mon, call tap Wed: inside the 7-day click window claims 1 Google Ads Ad click Wed, call tap the same day claims 1 GA4 Last visit was direct, which gets no credit; the two ads share it 1, shared Your log 1 new customer, 1 job, 8,000 TL ("Google'da gördüm") 1 real sale Ad platforms report 2 conversions for 1 real customer.
    One customer, three tools, three stories. Meta and Google Ads each see their own click and each count the call tap. GA4 ignores the final direct visit and splits the credit between the two ads (how it splits depends on the model). Only the log shows one customer and one job.

    The models each tool uses (as of 2026)

    ToolModelsDefault windowsNotes
    GA4Data-driven; paid and organic last click; Google paid channels last clickAcquisition key events (first visit): 30 days, or 7. All other key events: 90 days, or 30 or 60 Google Analytics Help, Oct 2026"First click, linear, time decay, and position-based … are no longer available as of November 2023." Direct visits get no credit unless the whole path is direct Google Analytics Help, Oct 2026
    Google AdsData-driven (default); last click still availableClick: 30 days (can be set from 1 to 90). Engaged view: 3 days. View-through: 1 day Google Ads Help, Oct 2026Rule-based models were removed in 2023 Search Engine Journal, Oct 2026
    MetaClick-through (link clicks), engage-through, view-through; set per ad setReported default for website conversions: 7-day click, 1-day engage-through, 1-day view Dataslayer, Apr 2026 (secondary)Meta's own announcement did not state the default, and Meta's help page did not load for this check (Oct 2026). Check the ad set's attribution setting in your account
    A conversion window (also called a lookback window) is how many days after a click or view a conversion can still be credited. Longer windows give a tool more chances to claim a customer.

    Meta changed its attribution twice in 2026

    • 12 January 2026: Meta removed the 7-day view and 28-day view windows (announced 13 October 2025). The 1-day click, 7-day click, 28-day click, 1-day engaged-view and 1-day view windows remained. Sources conflict on where this applied: PPC Land says the Ads Insights API only PPC Land, Oct 2026; Dataslayer says Ads Manager too Dataslayer, Oct 2026. Check the attribution settings in your own account.
    • March 2026: click-through attribution for website and in-store conversions was narrowed to "exclusively include link clicks". Likes, shares and saves moved to engage-through attribution (formerly engaged-view), and the video threshold went from 10 to 5 seconds Meta, Mar 2026 Dataslayer, Apr 2026.

    Same lead, different day: click date vs conversion date

    Even when two tools agree that a lead came from an ad, they can put it on different days. Google Ads "has always reported conversions by the date your ad was clicked" Google Ads Help, Oct 2026. GA4 reports a key event on the day it happened Dataslayer, Jun 2024 (secondary).

    Google Ads: click date

    A driver clicks Örnek's brake ad on 30 September and sends the booking form on 2 October. Google Ads shows the conversion on 30 September, in the September report.

    GA4: conversion date

    GA4 shows the same generate_lead on 2 October, in the October report.

    What to do

    Expect monthly totals to differ for this reason alone, most at month ends. When you compare Google Ads with GA4 or with your log, add the "Conversions (by conv. time)" column in Google Ads, which counts conversions on the day they happened (same Google page).

    Data also arrives late. Recent days in every tool are incomplete, and Google Ads can still add conversions to a click that happened weeks ago, up to the end of the window. Judge last week on Monday, but treat the last two or three days as provisional.

    A practical approach for a small shop

    1. Make your log the source of truth

      Real customers, jobs and money come from the log (Section 09). Platform numbers are for steering inside each platform.

    2. Judge the total with blended numbers

      These do not depend on any platform's attribution rules (formulas below).

    3. Compare trends, not totals

      Keep the same settings and date ranges week to week. When a platform changes a definition, write a note in your report so the jump is explained.

    4. Run a simple on/off test when in doubt

      Pause one channel for 2–4 weeks, or run it only in some districts, and compare new customers in the log with similar weeks. Small shops have small numbers, so treat the result as a strong hint, not proof. This is a judgement rule, not a sourced benchmark.

    Blended cost per customer all channels

    total marketing spend ÷ all new paying customers

    30,000 ÷ 40 = 750 TL (example)

    MER marketing efficiency ratio

    total new-customer revenue ÷ total marketing spend

    320,000 ÷ 30,000 ≈ 10.7 (example)

    Self-checkGoogle Ads reports 41 conversions, Meta 33, and your log shows 60 leads from ads. How many ad leads did the shop really get?

    Sources for this section
    1. Google Analytics Help — Attribution models
    2. Google Analytics Help — Attribution settings and lookback windows (checked Oct 2026)
    3. Google Ads Help — About conversion windows (checked Oct 2026)
    4. Google Ads Help — Understand conversions by time with new columns (checked Oct 2026)
    5. Dataslayer — Reasons for data discrepancies between Google Ads and GA4 (27 Jun 2024, secondary)
    6. Search Engine Journal — Google removes four attribution models (2023)
    7. PPC Land — Meta restricts attribution windows in Ads Insights API
    8. Dataslayer — Meta attribution window removed (Jan 2026)
    9. Meta — Click attribution update (3 Mar 2026)
    10. Dataslayer — Engage-through attribution (2026)
    11. Business Wire / Drive Social Media — 2026 Meta attribution changes (Jun 2026)

    Section 12 / 14

    Dashboards and the weekly report

    Read
    14 min
    Builds on
    Sections 09–11
    You will be able to
    Build a free one-page dashboard, run a 15-minute weekly report and a one-hour monthly review, find which step of the funnel is broken, and avoid being fooled by small numbers and seasons.

    Data is only useful if someone looks at it on a fixed day and makes one decision. A 15-minute report every Monday is enough for a shop: spend, leads by channel, jobs, revenue, cost per lead, cost per job, and one change for next week.

    Connectors: what plugs in for free

    Google-built connectors

    Google Sheets, Google Ads, Google Analytics, Search Console, YouTube Analytics, BigQuery (plus Campaign Manager 360, Display & Video 360, Search Ads 360, Ad Manager 360) Google Cloud docs, Sep 2026.

    No native connector

    Google Business Profile and Meta Ads. Partner (community) connectors exist, but Google warns: "Community connectors may cost money to use."

    Free workaround: type the weekly Meta and GBP numbers into a small Google Sheet and connect the Sheet.

    Build the dashboard

    1. Start a blank report

      At datastudio.google.com choose Blank report.

    2. Add data

      GA4, Google Ads, Search Console, and Google Sheets (the customer log, plus the sheet with weekly Meta and GBP numbers).

    3. Page 1, Summary

      Scorecards for spend, leads, jobs, revenue and cost per job; a weekly time series; a table by channel.

    4. Page 2, Website and search

      GA4 sessions and key events by channel, top landing pages, Search Console queries, GBP monthly numbers.

    5. Add a date control and share

      Default "Last 7 days" or "Last month"; share as view-only.

    The weekly report template

    ChannelSpendClicks / visitsLeads: calls / WA / formsJobsRevenueCost per leadCost per job
    Google AdsAdsAds clicks / GA4 sessionsLine A / GA4 eventsLogLogcalccalc
    Meta AdsAds ManagerLink clicks / GA4 sessionsWA chats, Contact, LeadLogLogcalccalc
    Google Maps (free)0GBP website clicksGBP call taps / line BLogLog——
    Organic search0GA4 Organic Search sessionsGA4 eventsLogLog——
    Print / otherPrint costQR sessionsLine C / promo codesLogLogcalccalc
    Referral / walk-in0—LogLogLog——
    Totalblendedblended
    Each cell names where the number comes from. GBP numbers arrive monthly.

    Five questions every Monday

    1. Did new paying customers go up or down against the last 4-week average?
    2. Which paid channel had the lowest cost per job (not cost per lead)?
    3. Did any tracking break? Look for an event at zero or a sudden jump.
    4. How many calls were missed, and at what times?
    5. What one change do we make this week? Write it in the change log.

    With only a few leads a week, make budget decisions monthly; weekly numbers are noisy.

    The monthly review (about one hour)

    On the first Monday of the month, give the numbers one longer look. The weekly check asks "is anything broken?"; the monthly review asks "where should next month's money go?"

    These ticks are saved in this browser. Untick them to reuse the list next month.

    Small numbers, seasons and simple tests

    A shop with 60 leads a month sees about 15 a week. At that size, luck moves the numbers a lot. Three habits stop you from reacting to noise. These are rules of thumb, not statistical standards.

    Small numbers swing

    Two extra jobs in a week can move cost per customer by hundreds of lira. Do not judge an ad on 3 leads or 2 days. Wait at least about two weeks and roughly 10 or more leads per version before you decide. New campaigns and big edits also start a learning period in Google and Meta, so the first days are noisy.

    Seasons change demand

    Car repair is seasonal: tyre changes before winter, check-ups before long holiday trips around bayram (religious holidays). A busy November says little about your ads if every November is busy. Compare this November with last November, and note season peaks in the change log.

    Test one thing at a time

    Change only the headline, or the image, or the offer, or the landing page. Tell versions apart with utm_content and ad names (video_usta_a, video_usta_b). Log the date, the change, the result and the decision.

    Self-checkLeads in November are 40% higher than in October. What should the owner compare before giving the ads the credit?

    Diagnose from the top of the funnel down

    Few impressions? ads or listing rarely shown Impressions OK, but low CTR? people see the ad but do not click Clicks OK, but few leads? low key event rate Leads OK, but few jobs? low close rate Jobs OK, but cost per job above break-even? no no no no yes yes yes yes yes Budget, area or keywords too narrow Widen the radius or keywords a little; check the search terms. Ad not relevant, or offer weak New headline or creative; show a price or an offer. Landing page or tracking problem Check tracking first; then phone and WhatsApp on top, faster page. Lead handling or lead quality Answer faster, call back missed calls, follow up quotes. Paying too much per customer Lower bids; ads in opening hours; focus on the best services.
    Read the funnel from top to bottom. Stop at the first "yes"; that step is the likely problem. Fix one thing, then wait 2–4 weeks with small volumes before you judge (a judgement rule, not a sourced benchmark).
    SymptomLikely problemWhat to try
    Few impressionsBudget, area or keywords too narrow; low search demandWiden the radius or keywords a little; check the search terms report
    Low CTR (vs. your own past)Ad not relevant, offer not attractiveNew headline or creative; show price or offer; match the search, e.g. "fren balatası değişimi"
    Clicks OK, few leadsLanding page or trackingCheck tracking first; phone and WhatsApp at the top on mobile; faster page; prices and reviews; shorter form
    Leads OK, few jobsLead quality or handlingAnswer speed, missed calls, quote follow-up; exclude far areas; adjust the offer
    Cost per job above break-evenPaying too much per customerLower bids or budget; ads only in opening hours; best services and districts
    Platforms report many conversions, log shows few jobsCounting the wrong thing, or counting twiceRe-check key events and Primary conversions; compare with the phone log and customer log

    Self-checkImpressions and CTR look normal, but leads dropped to almost zero this week. What do you check first?

    Sources for this section
    1. Google Cloud docs — Welcome to Data Studio (rename from Looker Studio, April 2026)
    2. Google Cloud docs — About data sources and connectors (updated 30 Sep 2026)
    3. LocaliQ — Search advertising benchmarks 2026 (1 Jun 2026, US data)

    Section 13 / 14

    Privacy and consent in Türkiye

    Read
    16 min
    Builds on
    Sections 04–07; Crash Course 14
    You will be able to
    Explain what KVKK's cookie guide asks for, set up a cookie banner that really controls your tags, and know which questions to take to a lawyer.

    Every tool in this guide sets cookies or sends personal data to companies abroad. KVKK, Türkiye's personal data protection law (Law No. 6698), sets the rules. A banner that is shown while the tags fire anyway is a legal risk and also gives you wrong data.

    Aydınlatma (informing)

    Telling people what you collect, why, for how long, and who receives it. For cookies: given at entry, separately from consent, clear and easy to reach, naming each cookie, its purpose, its duration and whether it is first- or third-party. A long general privacy notice does not count.

    Açık rıza (explicit consent)

    The person actively agrees. It must be specific, given by an active action, easy to withdraw, and never hidden inside terms of use or made a condition of service. "Just entering the site does not mean consent."

    KVKK's cookie guide (July 2025)

    The guide is Çerez Uygulamaları Hakkında Rehber (Guide on Cookie Practices), current edition KVKK Yayınları No: 69, Temmuz 2025 (July 2025). KVKK published a draft in January 2022 and the first final guide in June 2022 KVKK, Jul 2025. Its main points:

    • No consent needed only for cookies used purely to carry a communication over the network, or cookies strictly necessary for a service the user asked for.
    • First-party analytics may fall under the strictly-necessary exemption only if it measures audience and runs the site, produces anonymous statistics without cross-site tracking, has a reasonable lifetime, and the data is not passed to third parties. GA4 and the Meta Pixel send data to Google and Meta abroad; this guide's reading, shared by a Turkish legal blog, is that they need consent DijiLegal, Jul 2026.
    • Advertising cookies: "Davranışsal reklamcılık için kullanılan çerezler açık rıza gerektirmektedir." (Cookies used for behavioural advertising require explicit consent.)
    • Banner design: "Kabul et", "Reddet" and "Tercihler" buttons equal in colour, size and font; consent-based cookies off by default; a small icon to change the choice later; cookie walls can make consent invalid; do not ask on every visit (consent fatigue).
    • Shared responsibility: the site owner and the third party (for example the ad platform) are both responsible for informing users and getting consent.
    • Scope: the guide gives no guidance on pixels, fingerprinting, local storage or beacons. Most ad and analytics tags also set cookies, so the cookie rules still apply to them.

    Real fines

    800,000 TLDecision 2022/229 (10 Mar 2022): an e-commerce site set functional, analytics and marketing cookies without consent, sent data abroad without Article 9 safeguards, and had an inadequate notice; 30 days to fix KVKK, Mar 2022
    265,000 TLDecision 2024/1361 (8 Aug 2024): 250,000 TL for analytics cookies used without valid consent and for marketing consent forced as a condition of service, plus 15,000 TL for not giving a proper privacy notice KVKK, Aug 2024

    Data sent abroad (Article 9)

    Law No. 7499 amended KVKK Article 9 on transfers abroad. Transfers can rest on an adequacy decision, on appropriate safeguards such as standard contracts (which must be notified to KVKK within five business days of signing), or on limited incidental transfers. It took effect on 1 June 2024; the old explicit-consent rule ran in parallel until 1 September 2024. The implementing regulation was published in the Official Gazette on 10 July 2024 (No. 32598) Resmî Gazete, Mar 2024 KVKK, Oct 2026. Base fines under Article 18 include 50,000–1,000,000 TL for not notifying a standard contract; amounts are revalued every year and the 2026 figures were not checked. How a small business should document the Article 9 basis for GA4 and Meta is not settled in the sources read. Ask a lawyer.

    Google Consent Mode v2

    Consent mode passes the visitor's choice to Google tags. Consent types are ad_storage, ad_user_data, ad_personalization and analytics_storage (plus functionality, personalization and security storage) Google for Developers, Oct 2026. Google requires consent signals for traffic from the EEA, the UK and Switzerland, not for Türkiye. It is still a clean way to make Google tags obey your banner. It has two modes. In basic mode, Google tags do not load until the visitor consents. In advanced mode, they load with consent set to "denied" and send cookieless pings (small signals without cookies), which Google uses to model lost conversions.

    Visitor opens the site Cookie banner analytics + ads: off Kabul et Reddet Tercihler Kabul et (accept) GA4, Google Ads and Meta Pixel load and set cookies. Reddet · basic mode Google and Meta tags do not load. No data is sent before consent. Reddet · advanced mode Google tags send cookieless pings; Google models lost conversions. Open legal question under KVKK
    The banner decides which tags may run. In basic mode nothing is sent before consent, which is the safest reading of KVKK. Advanced mode keeps Google's conversion modelling working, but the KVKK guide does not discuss cookieless pings, so whether that is acceptable without consent is open.

    Set up the banner

    1. Choose a consent management platform (CMP)

      One with Turkish texts, a KVKK mode, category-based consent and Google consent mode support. Examples: CookieHub, Çerezgo, Cookiebot, Usercentrics, CookieYes, Complianz (WordPress). Features and prices were not verified.

    2. Set the categories

      Zorunlu (strictly necessary, no consent), İşlevsel (functional), Analitik/Performans (analytics), Reklam/Pazarlama (advertising). Analytics and advertising off by default.

    3. Design the first layer

      "Kabul et", "Reddet" and "Tercihler" equal in colour, size and font, a link to the Çerez Aydınlatma Metni (cookie notice), and a small icon to change the choice later.

    4. Connect it in GTM

      Install the CMP template on Consent Initialization – All Pages with defaults set to denied. Google tags use their built-in consent checks; give the Meta tags "Additional consent checks" or consent-based triggers.

    5. Test with "Reddet"

      Open the site in a private window and reject. In Tag Assistant the Meta Pixel must not fire and Google tags must not set cookies. Then accept: the tags fire.

    Browser and phone limits

    LimitWhat it doesEffect on your numbers
    App Tracking Transparency (iOS 14.5+)Apps need permission to track users across other companies' apps and websites Apple, Oct 2026Meta sees fewer conversions from iPhone users and models more
    Link Tracking Protection (iOS 17)Removes tracking parameters from links in Messages, Mail and Safari Private BrowsingSome shared links arrive without click IDs
    Safari ITPBlocks third-party cookies; deletes script-written storage after 7 days without interaction; caps script-set cookies to 24 hours when the visitor comes from a known tracking site through a link with click IDs WebKit, Oct 2026Returning Safari visitors can look like new ones

    Before uploading customer data

    Phone numbers, emails and click IDs of customers are personal data. Hashing them (SHA-256) is pseudonymisation; the data stays linked to a person. Before uploading paid jobs to Google or Meta: have a legal basis (for advertising and measurement, typically explicit consent), say in your aydınlatma metni that contact data may be shared with ad platforms, address the transfer abroad, and accept the platform's customer-data terms. The lower-risk start is to keep the log in-house and use it only for totals per channel.

    Promotional SMS and e-mail: the İYS rules

    Customer phone numbers in your log are tempting for campaign messages ("Kış bakımında %10 indirim"). Türkiye regulates these separately from KVKK, under Law No. 6563 on electronic commerce and its regulation on commercial electronic messages. İYS (İleti Yönetim Sistemi, the national message management system) is where consents are recorded.

    MessagePrior consent (onay)?Notes
    Campaign or advertising SMS / e-mail to a private customerYesThe consent must be recorded in İYS: consents not registered in İYS are treated as invalid KPMG Türkiye, Sep 2020
    Campaign message to a business customer that is a tacir or esnaf (registered merchant or tradesperson), for example a fleet companyNo"Tacir veya esnaf olan alıcıların elektronik iletişim adreslerine gönderilen ticari elektronik iletiler için önceden onay alınması zorunlu değildir." If the business refuses further messages, you need its consent from then on. Its address must still be registered in İYS Regulation text via Alomaliye KPMG Türkiye, Sep 2020
    Service message about an existing job or account, for example "Aracınız hazır" (your car is ready) or a payment reminderNoThe regulation lists notices about collection, debt reminders, information updates, purchase and delivery "or similar" situations. They need no prior consent, but "herhangi bir mal veya hizmet özendirilemez" (no goods or services may be promoted in them) Regulation Art. 6(2) via Alomaliye. Add "this week 10% off" and it becomes a commercial message
    The business that sends commercial messages must itself be registered in İYS (KPMG Türkiye, Sep 2020). Fines are set per violation and change every year; the 2026 amounts were not checked. Not legal advice.

    When you do send a campaign message, tag its link with UTMs (utm_source=sms&utm_medium=sms or utm_medium=email, Section 03), and record the İYS consent date in column 10 of the customer log (Section 09).

    Self-checkUnder KVKK's cookie guide, may the Meta Pixel load before the visitor clicks "Kabul et"?

    Sources for this section
    1. KVKK — Çerez Uygulamaları Hakkında Rehber (July 2025)
    2. KVKK — Board decision 2022/229
    3. KVKK — Board decision 2024/1361
    4. KVKK — Law No. 6698 (English)
    5. Resmî Gazete — Law No. 7499 (12 Mar 2024)
    6. DijiLegal — Çerez politikası ve KVKK (25 Jul 2026, secondary)
    7. Google for Developers — Consent mode
    8. Google — EU user consent policy
    9. Apple — User privacy and data use (ATT)
    10. WebKit — Tracking Prevention
    11. Erdem & Erdem — summary of KVKK's 21 July 2026 announcement on third-party data for advertising (secondary)
    12. Alomaliye — Ticari İletişim ve Ticari Elektronik İletiler Hakkında Yönetmelik (text incl. later İYS amendments)
    13. KPMG Türkiye — İYS registration obligation (15 Sep 2020)

    Section 14 / 14

    Checklist, mistakes, glossary

    Read
    10 min
    Builds on
    Sections 01–13
    You will be able to
    Work through the full setup in order, avoid the common tracking mistakes, and look up any term from this guide.

    Setup checklist for Örnek Oto Servis

    Your ticks are saved in this browser. Work top to bottom; each step relies on the ones before it.

    Week 1 · Plan and foundations

    Week 2 · Tags and tools

    Week 3 · Links, calls and reports

    Month 2 and later

    Common tracking mistakes

    1. GA4 installed twice (a plugin and GTM, or code and GTM): every page view counts twice.
    2. The same lead counted twice in Google Ads: native tag and imported GA4 key event both Primary.
    3. A form counted twice: on the submit click and on the thank-you page.
    4. Leads counted "once per event": refreshes of the thank-you page add leads. Use "once per session".
    5. page_view marked as a key event: every page view becomes a "lead".
    6. No real thank-you page and relying on form_submit: failed sends are counted.
    7. No testing after website changes: theme updates often break click triggers.
    8. Mixed UTM spelling: Instagram, instagram, IG and Turkish letters split reports.
    9. UTMs on internal links: they overwrite the visit's real source.
    10. Manual UTMs on Google Ads: not needed with auto-tagging; incomplete ones create (not set).
    11. No UTMs on Meta ads: paid traffic looks like Organic Social or Referral.
    12. Data retention left at 2 months: explorations cannot look further back.
    13. Too many Primary conversions (scrolls, page views, video plays): Google Ads optimises for cheap, useless actions.
    14. Treating taps as calls and ignoring missed calls in the phone log.
    15. Banner shown, tags fire anyway: a legal risk and a data problem. Test with "Reddet".
    16. Comparing platforms carelessly: Meta results (Meta's windows) against GA4 sessions. Compare trends.
    17. Changing several things at once: new ads, new page and new budget in the same week. You cannot tell what worked.

    Self-checkGA4 suddenly shows exactly twice as many page views as last month, but leads did not change. What is the most likely cause?

    Glossary

    Attribution
    Rules that decide which ad or channel gets credit for a conversion.
    Attribution window
    How long after a click or view a conversion can still be credited.
    Auto-tagging
    Google Ads adds the gclid click ID to ad links by itself.
    Break-even ROAS
    1 ÷ gross margin: the lowest ROAS at which ads pay for themselves on the first job (2.5 at a 40% margin).
    Blended cost per customer
    Total marketing spend ÷ all new paying customers, from all channels.
    CAC
    Customer acquisition cost: all costs of winning a new customer (ads, agency, tools, staff time) ÷ new customers.
    Call tracking
    Different phone numbers per channel (static) or per visitor (DNI), so calls can be linked to a source.
    Channel group
    GA4's buckets for visits, such as Paid Social, Organic Search, Email, Unassigned.
    Click ID
    An ID that an ad platform adds to the link: gclid, fbclid, ctwa_clid.
    CMP
    Consent management platform: the tool behind the cookie banner.
    Consent mode
    Google's way of passing the visitor's cookie choice to Google tags; basic or advanced.
    Conversion
    An action you want people to take; in Google's wording, the Google Ads side of a key event.
    Conversion window
    Same as attribution window; also called lookback window. Google Ads defaults to 30 days after a click.
    Conversions API (CAPI)
    Meta's server-to-server way to send events, including offline ones.
    CPM / CPC / CTR
    Cost per 1,000 impressions / cost per click / clicks ÷ impressions.
    Customer log
    Your own sheet or CRM that links each lead to a job and an invoice.
    Data Studio
    Google's free dashboard tool, called Looker Studio until April 2026.
    Deduplication
    Counting a browser event and a server event for the same action only once.
    DNI
    Dynamic number insertion: the website shows a different phone number per visitor or source.
    Enhanced conversions
    Sending hashed email or phone numbers to Google to match more conversions.
    Engagement rate
    GA4: share of sessions longer than 10 seconds, with a key event, or with 2+ page views.
    Event
    One recorded action, such as a page view or a tap on WhatsApp.
    Google tag
    Google's website code for GA4 and Google Ads; replaced the GTM "GA4 Configuration" tag in 2023.
    GTM
    Google Tag Manager: one container that holds and fires all your tags.
    İYS
    İleti Yönetim Sistemi: Türkiye's system where consents for commercial SMS, e-mail and calls are recorded.
    Key event
    A GA4 event marked as important; called "conversion" in GA4 until March 2024.
    Lead
    A person who contacted you; not yet a paying customer.
    LTV
    Lifetime value: gross profit from one customer over the whole relationship (19,200 TL in the Örnek example).
    MER
    Marketing efficiency ratio: total new-customer revenue ÷ total marketing spend.
    Microsoft Clarity
    Free tool for heatmaps and session recordings of website visits.
    Meta Pixel
    Meta's browser code that reports website actions.
    Offline conversion
    A result outside the website (paid job) uploaded to an ad platform later.
    Primary / secondary
    Google Ads conversion actions used for bidding, or only for watching.
    Thresholding
    GA4 hiding rows with few users to protect privacy.
    UTM parameters
    Labels added to a link so GA4 knows the source, medium and campaign of the visit.
    Aydınlatma / açık rıza
    Informing people about data use / their explicit, active consent (KVKK).

    All sources

    Facts were checked against these pages in October 2026 unless a date is given. Vendor claims are marked as such in the text.

    Google Analytics, Tag Manager, developers
    1. Key events · Configuration limits · Collection limits · Attribution · Data retention · Thresholds · Enhanced measurement · Recommended events · Lookback windows · Engagement rate · Users (Google Analytics Help)
    2. URL builders · Default channel group · Traffic-source dimensions · Link Google Ads · Link Search Console · Campaign URL Builder
    3. Tag Manager release notes · Preview and debug · Consent mode · Google tag gateway
    Google Ads, Business Profile, Search Console, Data Studio
    1. Auto-tagging · Phone call conversions · Google forwarding numbers · Call reporting · Click conversions · Website call tracking · Conversion windows · Conversions by time · Access levels (Google Ads Help)
    2. Offline conversion imports · Upgrade to enhanced conversions for leads · Enhanced conversions for leads · Enhanced conversions · Google Ads API offline uploads
    3. Primary and secondary actions · GA4 key events in Google Ads · Local actions · Consent mode (Ads) · EU user consent policy
    4. Business Profile performance · Search Console performance report · Search Console data · Data Studio welcome · Data Studio connectors
    Meta
    1. Pixel reference · Conversions API · Server event parameters · CAPI for Business Messaging · CAPI Gateway · Domain verification
    2. Click attribution (Mar 2026) · Pixel and CAPI updates (Apr 2026) · Jon Loomer: Offline Conversions API · CustomerLabs: offline via CAPI
    3. PPC Land: Meta attribution windows · Dataslayer: window removal · Dataslayer: engage-through · Business Wire: reported drops
    Türkiye law, call tracking, browsers
    1. KVKK cookie guide (Jul 2025) · KVKK 2022/229 · KVKK 2024/1361 · Law No. 6698 · Law No. 7499 · SRP Legal summary · DijiLegal · CookieHub · Çerezgo · KVKK 21 Jul 2026 announcement (Erdem & Erdem) · Commercial electronic messages regulation · KPMG: İYS registration
    2. Zadarma call tracking · Zadarma prices · Netgsm · Bulutfon · Verimor · Ringostat · CallRail: BraBos Cleaning
    3. Apple ATT · Apple Link Tracking Protection · WebKit tracking prevention
    Practitioner and trade sources
    1. Analytics Mania: key events · Analytics Mania: data retention · Loves Data: key events · Search Engine Journal: attribution models · Boei: WhatsApp clicks · Martech Zone: tel clicks
    2. Site Kit issue #13290 · PPC Land: Site Kit Site Goals · PPC Land: tag gateway · LocaliQ benchmarks 2026
    3. Microsoft Clarity · PPC Land: Clarity consent · StatCounter: search share, Turkey · Terminus: Meta UTM tracking · Craftshift: Meta UTM links · Dataslayer: Google Ads vs GA4 · Chatfuel: Meta partner access

    Left out because they could not be verified (Oct 2026): upload time limits for Google offline and enhanced-conversion uploads, Search Console data history length, the GBP "Messages" metric after Google ended Business Profile chat, Aggregated Event Measurement changes, Meta's offline-event upload window beyond 7 days, Turkish small-business tracking case studies, the 2026 KVKK and İYS fine amounts, Meta's own help pages on attribution defaults and dynamic URL parameters (they did not load; secondary sources are used and labelled), whether GA4 treats fb and ig as social sources, and how Google adjusts the Business Profile "Directions" count.

    All reports