Syväanalyysi · 13 min lukuaika

Shopping-hakulausekeraportti, jota Google ei sinulle anna

Shopping- ja PMax-raportit näyttävät haun mutta eivät tuotetta. Rakenna puuttuva haku × tuote -raportti yhdellä URL-parametrilla ja kahdella GA4-dimensiolla.

Kuvitus, joka yhdistää pinon hakulausekkeita yhteen tuotteeseen, puuttuvan linkin, jonka Googlen raportit piilottavat.
Vakavat faktat ovat aitoja — artikkelien kannet eivät.

Lyhyesti: Shopping- ja PMax-raportit näyttävät haun mutta piilottavat tuotteen. Lisää yksi URL-parametri, {lpurl}?utm_content={product_id}, niin viikon sisällä GA4 ojentaa sinulle haudatun haku × tuote -raportin yhdistämällä sessionManualAdContent-dimension sessionGoogleAdsQuery-dimensioon. Oikealla tilillä tuo näkymä paljasti, että 85 % budjetista virtasi parien kautta, jotka eivät koskaan konvertoineet, kun taas 0,25 %:n siivu kantoi koko tiliä 46,8× ROAS:lla.

Asiakas kysyi minulta kerran kysymyksen, johon pitäisi olla yhden klikkauksen vastaus. Joku haki “johdoton imuri alle 200”, klikkasi Shopping-mainosta, ja tili maksoi siitä. Mihin feedin 5 000 tuotteesta se klikkaus laskeutui? Avasin hakulausekeraportin, sitten tuoteraportin, eikä niitä voinut yhdistää mitenkään. Ei voi vieläkään. Google näyttää sinulle haun, ja se näyttää tuotteen, mutta ei koskaan yhdessä.

Vuosia sitten vanha AdWords API ojensi sinulle juuri tämän parin. Sitten se katosi hiljaa, eikä mikään asetus, raportti tai API-kenttä tuo sitä takaisin. Verkkokaupalle tuo aukko ei ole kosmeettinen. Haun ja tuotteen yhteys on se paikka, jossa todellinen optimointi elää. Vastaavatko otsikkosi aitoa kysyntää. Mitkä tuotteet vetävät roskaliikennettä. Miksi tuote saa klikkauksia mutta ei koskaan konvertoi.

Kaksitoista vuotta koodaamista Google Ads API:a vasten opetti minulle, että kun Google hautaa raportin, se ei palaa. Joten rakensin sen itse uudelleen, ja uudelleenrakennus on lähes nolottavan yksinkertainen. Yksi URL-parametri. Viikon sisällä GA4 ojentaa sinulle jokaisen maksetun klikkauksen parina haku × tuote, istunnot, konversiot ja liikevaihto mukana. Rakentaminen vie minuutteja; loppu tästä artikkelista kertoo, mitä teet sillä, mikä tulee takaisin.

78 %
klikkauksista täsmäsi haku × tuote
22
päivitettyä kampanjaa
1
URL-parametri, siinä koko paketti
7 päivää
varmennettuun dataan GA4:ssä

Korjaus: yksi parametri, kaksi GA4-dimensiota

Lisää seurantamalline

Aseta {lpurl}?utm_content={product_id} Shopping- ja PMax-kampanjoihisi. ValueTrack-muuttuja {product_id} lähettää Merchant Centerin tuotetunnuksen jokaisen klikkauksen mukana.

GA4 tallentaa tuotteen

UTM laskeutuu Session manual ad content -dimensioon (sessionManualAdContent).

GA4 tietää haun jo

Automaattimerkintä (gclid) täyttää sessionGoogleAdsQuery-kentän samassa istunnossa.

Yhdistä kaksi dimensiota

Jokaisesta maksetusta klikkauksesta tulee haku × tuote -pari, istunnot, konversioprosentti ja liikevaihto mukana.

Automaattimerkintä ja manuaalinen UTM eivät taistele keskenään. Gclid hoitaa edelleen lähteen, median ja kampanjan; sinun UTM:si kuljettaa vain tuotetunnuksen.

Tiedä, mitä saat (ja mitä et)

  • Vain klikatut haut. Tämä aineisto alkaa klikkauksesta. Haut, joille mainoksesi näkyi mutta joita kukaan ei klikannut, eivät koskaan päädy GA4:ään. Impressiotason analyysi pysyy Googlen vakioraportissa, ilman tuotteita.
  • Noin 20 % klikkauksista ei pariudu. Consent-evätyt istunnot, PMax-pinnat ilman mitään hakua (Display, YouTube, Gmail), klikkaukset, jotka eivät koskaan laukaisseet analytiikkaa.
  • Istuntotasolla. Yksi istunto kuljettaa yhden tuotetunnuksen, sen klikatun, vaikka käyttäjä sitten selaisi kymmentä muuta.

Raportin vetäminen ulos GA4:stä

Avaa GA4:n käyttöliittymässä Tutki ja rakenna vapaamuotoinen taulukko. Dimensiot ovat Session manual ad content ja Session Google Ads query. Mittarit ovat istunnot, avaintapahtumat (aiemmin konversiot) ja ostoliikevaihto. Suodata istunnon lähde/media arvoon google / cpc.

Kaikkeen vakavampaan haluat Data API:n, koska tämä raportti kuuluu dashboardiin tai BigQuery-liitokseen, ei selaimen välilehdelle:

from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
    RunReportRequest, DateRange, Dimension, Metric, FilterExpression, Filter
)

request = RunReportRequest(
    property=f"properties/{GA4_PROPERTY_ID}",
    dimensions=[
        Dimension(name="sessionManualAdContent"),  # product ID
        Dimension(name="sessionGoogleAdsQuery"),    # search term
    ],
    metrics=[
        Metric(name="sessions"),
        Metric(name="keyEvents"),
        Metric(name="purchaseRevenue"),
    ],
    date_ranges=[DateRange(start_date="30daysAgo", end_date="today")],
    dimension_filter=FilterExpression(filter=Filter(
        field_name="sessionSourceMedium",
        string_filter=Filter.StringFilter(value="google / cpc"),
    )),
)

Yhdistä sessionManualAdContent tuotefeediisi (id → otsikko, hinta, kategoria), niin raportti on valmis. Haku, tuote, otsikko ja talous yhdessä taulussa.

Varmennettu, ei teoretisoitu

Otimme tämän käyttöön oikealla tilillä, tšekkiläisellä elektroniikan verkkokauppiaalla, jolla on 22 käytössä olevaa Shopping-kampanjaa, ja tarkistin GA4:n seitsemän päivää myöhemmin:

GA4, 7 päivää käyttöönoton jälkeen

  • google/cpc-liikenteen rivejä 9 753
  • Kuljetti tuotetunnuksen (utm_content) 96 %
  • Kuljetti hakulausekkeen (sessionGoogleAdsQuery) 81 %
  • Kuljetti molemmat, toimiva haku × tuote -raportti 78 %

Nyt hauska osuus: mitä parit kertovat sinulle

1 · Otsikkoaukko

Aseta haut sen otsikon ja kuvauksen viereen, jotka ne laukaisivat. Epäsuhta hyppää silmille:

What people actually search
johdoton imuri lemmikin karvatimuri koiran karvoille allergialemmikki imuri hiljainenparas imuri eläimen karvoille 2026
What the title says
Imuri X300 Turbo 2000W, EAN 8595…
Kuvaus: "Laadukas pölynimuri modernilla muotoilulla ja runsailla lisävarusteilla."
The gap: Otsikko myy watteja, joita kukaan ei hae, ja ohittaa lemmikinkarvojen käyttötapauksen, jota kaikki hakevat. (Havainnollistava esimerkki.)

Feedin tiekartta kirjoittaa itsensä. Olen rakentanut kaksi viime vuotta AI-pohjaista feedin rikastustyökalua, ja koko kategorian rehellinen heikkous on vaikutuksen todistaminen. Tämä raportti korjaa sen. Kirjoita otsikko uudelleen sen kysynnän ympärille, jonka juuri todistit, ja seuraa sitten, miten CTR ja konversioprosentti liikkuvat hakua kohti. AI-feedin rikastus lakkaa olemasta uskonhyppy ja muuttuu mitattavaksi silmukaksi.

2 · Kuka muu on “sinun” haullasi, ja millä tuotteella

Yhtä asiaa et voi tehdä. Et voi lisätä negatiivisia avainsanoja tuotetta kohti. Google ei anna sinulle sellaista vipua Shoppingissa eikä PMaxissa. Joten kun haku × tuote -pari alisuoriutuu, kysymys “miten suljen sen pois” ei johda mihinkään. Tuottava kysymys on miksi se alisuoriutuu.

Ota haku ja kaavi sille live-tulossivu. Minä käytän DataForSEO-palvelua, päätepiste serp/google/organic/live/advanced. Yksi POST hakutekstillä ja markkinasi location_code-arvolla palauttaa koko tulossivun jäsenneltynä JSONina, maksetut mainokset, shopping-lohkot kauppiasnimineen ja hintoineen, orgaaniset alla. DataForSEO laskuttaa per SERP, ja yksi SERP kattaa enintään 10 tulosta. Nykyisellä noin 0,002 $ per SERP -perushinnalla 200 oletussyvyisen haun tarkistus maksaa noin 0,40 $, ennen maksullisia lisäparametreja.

Tyypillinen löydös. Keskihintainen makuupussisi kerää klikkauksia yleisellä haulla, ja sama haku näyttää kolme budjettibrändiä samassa kategoriassa puoleen hintaan. Tuote on kunnossa. Hinta häviää juuri sen huutokaupan.

Nyt sinulla on aitoja vaihtoehtoja. Hinnoittele uudelleen. Työnnä erottava tekijä otsikkoon (“untuvatäyte, −15 °C mukavuus”). Siirrä tuote kampanjaan, jonka hintatarjousstrategia vastaa sen katetodellisuutta. Tai hyväksy haku ylemmän funnelin liikenteenä ja arvioi sitä avustetuilla mittareilla viimeisen klikkauksen sijaan.

3 · Rakenne- ja hintatarjouspäätökset

Tuotteet, jotka vetävät korkean ostoaikeen hakuja, ansaitsevat omat elementtiryhmänsä ja budjettinsa. Tuotteet, jotka keräävät vain yleistä liikennettä, kuuluvat kaikenkattaviin ryhmiin konservatiivisilla tavoitteilla. Tämä raportti antaa shopping-segmentoinnille todistuspohjan, ja se korvaa mututuntuman.

4 · Terveystarkastus PMaxille

PMax kertoo hausta lähes tyhjää. Tämä raportti on lähin asia auditille siitä, mitä PMax oikeasti ostaa sinulle hakupinnalla, tuotetta kohti.

Katso, kun käyn yhden oikean exportin läpi, askel askeleelta

Kaikki yllä oleva on miksi. Tässä on, miltä se oikeasti näyttää, jokainen askel, mitä lataat, mitä tuijotat ja mikä oikea luku tulee takaisin.

Data on toinen tili, keskikokoinen tšekkiläinen verkkokauppa halpissegmentissä. Se ei ole yllä olevan GA4-laatikon elektroniikkakauppias; käytän sitä, koska sen valikoima on tarpeeksi laaja, että jokainen kuvio näkyy täydessä mittakaavassa. Vedin sen raa’an Shopping-hakulausekeraportin Google Ads API:n kautta paikalliseen SQLite-tauluun ja ajoin alla olevat aggregaatiot. Yksi varaus ensin. Raaka raportti antaa sinulle mainosryhmän tai tuoteryhmän, jonka alla haku näytettiin, ei yksittäistä tuotetta. Juuri sen aukon UTM-temppu sulkee. Mutta jo tuoteryhmätasolla välitulokset ovat tarpeeksi äänekkäitä tehdäkseen pointtinsa.

Lähde jokaiselle tämän osion luvulle: Google Ads Shopping -hakulausekeraportti, yksi keskikokoinen tšekkiläinen verkkokauppatili, ~22,6 milj. riviä, data vedetty huhtikuussa 2026. Summat muunnettu CZK:sta kurssilla ~25 CZK/EUR.

Askel 1 · Vedä raaka raportti ja mittaa kasa

Vie Shopping-hakulausekeraportti Google Ads API:n kautta (search_term_view) mihin tahansa, jolle voit ajaa GROUP BY -kyselyn, SQLiteen tai BigQueryyn. Ennen kuin yhdistät tai suodatat yhtään mitään, aja pelkkä COUNT(*) ja pari SUM-kyselyä. Sinun pitää tuntea, kuinka iso ja kuinka meluisa raaka kasa on, koska tuo yksi tosiasia nollaa jokaisen seuraavan odotuksen:

Raaka kasa, yksi COUNT ja kolme SUMia

  • Raportin rivit (haku × tuoteryhmä) 22 640 716
  • Erillisiä hakulausekkeita 5 370 131
  • Tuoteryhmiä, joiden alla ne näytettiin 10 393
  • Budjetti / liikevaihto (yhdistetty ROAS 6,8×) 103 t. € / 697 t. €

22,6 miljoonaa riviä, 5,4 miljoonaa uniikkia hakua. Kukaan ihminen ei lue sitä. Luvun ainoa tehtävä on kertoa seuraava siirto, eli romahduttaa kasa sen dimension mukaan, joka maksaa laskut, ja varoittaa, että rivikohtainen manuaalinen triage on toivotonta.

Askel 2 · Heitä 96 % pois ennen kuin analysoit mitään

Laske rivit, joilla on nolla klikkausta, ja suodata ne pois. Shopping-hakulausekeraportti kirjaa jokaisen haun, jolle mainoksesi näkyi, ja useimpia niistä ei kukaan koskaan klikannut. Pelkät impressiorivit eivät voi maksaa sinulle mitään eivätkä konvertoida. Ne ovat melua, joka saa taulun näyttämään pelottavalta.

WHERE clicks > 0 romahduttaa taulun 738 444 riviin, kokoon, jolla voi oikeasti työskennellä.

Impressiotulva

  • Rivit, joissa nolla klikkausta (pelkkiä impressioita) 21 902 272 (96,7 %)
  • Rivit, jotka joskus maksoivat rahaa 738 444 (3,3 %)

96,7 % pelottavasta luvusta ei ollut koskaan muuta kuin melua. Suodata klikattuihin riveihin ennen kuin analysoit mitään, niin jokainen alla oleva aggregaatio ajetaan sillä osalla, joka oikeasti käyttää rahaa.

Askel 3 · Esitä se yksi kysymys, joka kehystää tilin uudelleen

Jaa klikattujen rivien budjetti kahtia, “konvertoi vähintään kerran” ja “ei koskaan konvertoinut”, ja summaa kummankin kustannus. Tämä on luku, joka muuttaa lauseen “tili on kunnossa, ROAS on 6,8” muotoon “suurin osa budjetista ei tee mitään”. Laske se ennen yhtäkään optimointi-ideaa:

Nollakonversion painolasti

  • Raportin rivit, jotka konvertoivat nolla kertaa 99,75 %
  • Osuus kokonaisbudjetista, jonka nuo rivit söivät 85,5 %
  • Budjetti, jonka takana ei ole yhtään konversiota 88 t. €
  • Vain klikatuista riveistä, osuus nollakonversioilla 92,3 %

85 % budjetista virtasi haku × tuoteryhmä -yhdistelmien kautta, jotka eivät konvertoineet kertaakaan.

Se ei ole pyöristysvirhe, jonka optimoit myöhemmin. Se on itse pääasia. Ja näit sen vain siksi, että romahdutit haun siihen, mitä vastaan se myytiin.

Askel 4 · Tarkista, onko hukka muutaman roiston vai koko joukon työtä

Lajittele klikatut rivit kustannuksen mukaan, ota ylin 1 % ja ylin 10 % ja katso, kuinka suuren osan kokonaisbudjetista ne pitävät. Tämä päättää taktiikkasi. Jos kourallinen lausekkeita polttaa budjetin, keskeytät ne ja olet valmis. Jos hukka on levinnyt ohuelti, lausekkeiden keskeyttäminen on turhaa ja tarvitset rakenteellisia korjauksia:

Missä hukattu budjetti oikeasti istuu

  • Ylin 1 % klikatuista riveistä kustannuksen mukaan 10,5 % budjetista
  • Ylin 10 % klikatuista riveistä kustannuksen mukaan 29,8 % budjetista

Painolasti on pitkähäntäinen. Kalleimpien rivien ylin 1 % pitää hädin tuskin kymmenesosaa budjetista, joten 20 huonon lausekkeen keskeyttäminen ei muuta mitään. Korjaa rakenne, eli mitkä tuotteet istuvat missäkin kampanjassa millä tavoitteella, yksittäisten hakujen jahtaamisen sijaan. Ja muista, ettei Google muutenkaan anna sinun lisätä negatiivista tuotetta kohti.

Askel 5 · Selvitä, miksi pitkä häntä vuotaa: yksi haku, monta tuotetta

Laske jokaiselle hakulausekkeelle, monenko erillisen tuoteryhmän alla se näytettiin. Tämä selittää hukan mekaanisesti. Shopping täsmää haun koko feedisi signaaleja vastaan, ei yhden tuotteen relevanssia vastaan. Yksi haku vuotaa katalogisi toisiinsa liittymättömiin nurkkiin, ja sinä maksat jokaisesta ohilaukauksesta.

Konkreettinen tapaus tililtä. Haku “haukunestolaite” poltti budjettia jatkuvasti, joten ajoin sille COUNT(DISTINCT ad_group) -kyselyn. Se oli näytetty 139 eri mainos- ja tuoteryhmän alla, hintaan 39 € ja suunnilleen nollalla konversiolla. “lego technic” kosketti 300:aa.

Haun roiske läpi katalogin

  • Erillisiä lausekkeita, jotka näytettiin useamman kuin yhden tuoteryhmän alla 46,7 %
  • Eniten tuoteryhmiä, jotka yksi haku tavoitti 6 661
  • "haukunestolaite" → ryhmät / kustannus / konversiot 139 / 39 € / ~0

Lähes puolet hauista on tahriintunut useiden tuoteryhmien yli, ja pahimmat tapaukset tavoittavat tuhansia. Se on askeleen 3 nollakonversiopainolastin moottori, ja juuri se asia, jonka voit vihdoin nähdä, kun jokainen klikkaus kuljettaa tuotetunnustaan.

Askel 6 · Silmäile pahimmat epäsuhdat, koska ne ovat absurdeja

Vedä kalleimmat rivit, jotka eivät koskaan konvertoineet, ja lue haku sen tuoteryhmän vieressä, jota vastaan se myytiin. Aggregaattiluvut vakuuttavat taulukkolaskentasi. Nämä kolme riviä vakuuttavat pomosi:

Kalleimmat nollakonversion haku × tuoteryhmä -parit (käännetty ja anonymisoitu; havainnollistaa oikeita rivejä).
HakulausekeNäytettiin tuoteryhmän allaKlikkauksetKustannusKonv.
koiran koulutuspanta Käsilaukut9711 €0
haukunestolaite Vauvatuotteet769,60 €0
lego technic Valaisimet706,80 €0

Koirankoulutuspantahaku maksettiin Käsilaukut-ryhmän alla. Haukunestolaite myytiin Vauvatuotteita vastaan. Tuoteryhmällä ei ole mitään tekemistä haun kanssa. Google täsmäsi laajoilla feed-signaaleilla, keräsi klikkauksen ja veloitti tiliä. Haku × tuotteella näet tämän yhdellä vilkaisulla; Googlen vakioraportilla et koskaan. (Kategoriat käännetty ja anonymisoitu.)

Askel 7 · Nyt palkinto: se 0,25 %, joka maksaa koko tilin

Käännä askel 3 ympäri. Eristä vain rivit, jotka konvertoivat, ja summaa niiden kustannus ja liikevaihto. Tämä on syy, miksi koko harjoitus on tärkeä. Kun pystyt erottamaan voittajat painolastista, suojelet voittajia ja näännytät loput.

Siivu, joka ansaitsee paikkansa

  • Rivit, jotka konvertoivat (osuus kaikista riveistä) 57 209 (0,25 %)
  • Mitä ne maksoivat 14,9 t. €
  • Mitä ne palauttivat 697 t. €
  • ROAS tällä siivulla 46,8×

Neljäsosa prosentista riveistä pyörii 46,8× ROAS:lla ja käytännössä kantaa tiliä. Loput 99,75 % vetävät yhdistetyn luvun alas 6,8×:ään. Tuon siivun löytäminen, sen budjetin suojeleminen ja kaiken muun rakentaminen siitä poispäin on koko homma. Eikä mikään siitä ole mahdollista, ennen kuin jokainen rivi kuljettaa tuotetta, jota vastaan se myytiin. Sen tämän artikkelin alun yhden parametrin UTM sinulle ostaa.

Take it with you

Lataa täydelliset ohjeet tekoälyllesi

Koko yllä oleva menetelmä kirjoitettuna briefiksi, jonka voit liittää suoraan Claudeen tai mihin tahansa kyvykkääseen koodausagenttiin. Se asettaa seurantamallineen, vetää haku × tuote -raportin ulos GA4:stä ja ajaa aggregaatiot tililläsi. Mukana on myös malline ja sen kolme ansaa. Jätä sähköpostisi, niin tiedosto on sinun.

One file, one list. I only write when there's something worth reading.

FAQ

Toimiiko tämä Performance Maxissa?

Kyllä, haku- ja shopping-pinnalla. Display-, YouTube- ja Gmail-klikkaukset kuljettavat tuotetunnuksen mutta eivät hakua, joten odota, että näillä riveillä hakudimensio on tyhjä.

Rikkooko UTM GA4-attribuutioni?

Ei. Automaattimerkintä (gclid) hoitaa edelleen lähteen, median ja kampanjan; sinä lisäät vain ad contentin. Asiat rikkoisi mukautettu parametri utm_campaignin sisällä, joten älä koskaan laita sinne mitään.

Miksi kattavuus on vain 78 %?

Consent mode, kyselyttömät PMax-pinnat ja analytiikkaestäjät syövät loput. 78 % riittää hyvin kaikkiin yllä oleviin käyttötapauksiin, koska luet kuvioita etkä tilintarkasta senttejä.

Näenkö haut, joille mainokseni näkyi mutta kukaan ei klikannut?

Et. Tämä aineisto alkaa klikkauksesta. Impressiotason analyysi pysyy vakiomuotoisessa hakulausekeraportissa, ilman tuotteita.

Toimiiko kuvio Googlen ulkopuolella, vaikkapa Bingissä tai Sklikissä?

Kyllä. Kuvio siirtyy mille tahansa alustalle, jolla on URL-malline, tuotemakro ja analytiikkadimensio sen nappaamiseen. Tarkat makrot eroavat alustoittain.

Kauanko kestää, ennen kuin minulla on käyttökelpoista dataa?

Riippuu volyymistä. Meidän tilillämme oli toimiva raportti 7 päivässä; pienempien tilien kannattaa kerätä 30.


CTA: Mitkä tuotteesi ansaitsevat klikkauksensa ja mitkä vain laskuttavat sinua? Lisää parametri tänään, niin viikon päästä tiedät. Tai lähetä minulle tilisi, niin luetaan raportti yhdessä.

Tämän kaiken pointti

Haluatko tämän tason näkyvyyden tilillesi?

Yksi sähköposti. Kerron rehellisesti, kannattaako se sinun setupissasi.

Ota yhteyttä →