{"id":240,"date":"2026-07-06T19:42:34","date_gmt":"2026-07-06T17:42:34","guid":{"rendered":"https:\/\/www.lukaswojcik.com\/blog\/?p=240"},"modified":"2026-07-06T19:43:38","modified_gmt":"2026-07-06T17:43:38","slug":"zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation","status":"publish","type":"post","link":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/","title":{"rendered":"Zaawansowana analityka konwersji Cross-Channel Conversions w GA4 i Budget Allocation"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">W dzisiejszym rozproszonym ekosystemie cyfrowym u\u017cytkownicy rzadko dokonuj\u0105 konwersji po pojedynczej interakcji. Mog\u0105 odkry\u0107 produkt poprzez og\u00f3lne wyszukiwanie w Google, kilka dni p\u00f3\u017aniej klikn\u0105\u0107 reklam\u0119 retargetingow\u0105 na LinkedIn, a ostatecznie sfinalizowa\u0107 zakup dzi\u0119ki bezpo\u015bredniej kampanii e-mailowej. Z punktu widzenia architektury zorientowanej na dane, opieranie si\u0119 na starym modelu \u201eOstatnie klikni\u0119cie niebezpo\u015brednie\u201d (Last Non-Direct Click) jest przestarza\u0142e. Silnie zniekszta\u0142ca ono rzeczywisto\u015b\u0107, umniejszaj\u0105c znaczenie kana\u0142\u00f3w z g\u00f3rnej cz\u0119\u015bci lejka, przy jednoczesnym sztucznym zawy\u017caniu warto\u015bci punkt\u00f3w styku z samego do\u0142u lejka. Dzi\u0119ki Google Analytics 4 (GA4) mo\u017cliwy jest dost\u0119p do zaawansowanego raportowania wielokana\u0142owego oraz mocy algorytmicznej niezb\u0119dnej do zasilania wysoce precyzyjnych narz\u0119dzi bud\u017cetowych. Poni\u017cej znajduje si\u0119 szczeg\u00f3\u0142owa analiza pokazuj\u0105ca, jak wykorzysta\u0107 wielokana\u0142owe mo\u017cliwo\u015bci GA4 do optymalizacji wydatk\u00f3w marketingowych.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Demistyfikacja raport\u00f3w konwersji wielokana\u0142owych w GA4<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">GA4 fundamentalnie zmieni\u0142o spos\u00f3b analizy atrybucji poprzez odej\u015bcie od raportowania opartego na sesjach na rzecz architektury sterowanej zdarzeniami (event-driven). Pozwala to na znacznie bardziej elastyczne i szczeg\u00f3\u0142owe podej\u015bcie do \u015bledzenia wielokana\u0142owego.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Pot\u0119ga atrybucji opartej na danych (Data-Driven Attribution \u2013 DDA)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Domy\u015blnie GA4 wykorzystuje model atrybucji opartej na danych (DDA) w raportach wielokana\u0142owych. W przeciwie\u0144stwie do modeli statycznych (takich jak Pierwsze klikni\u0119cie czy Model liniowy), DDA wykorzystuje algorytmy uczenia maszynowego do oceny wszystkich \u015bcie\u017cek \u2013 zar\u00f3wno tych zako\u0144czonych konwersj\u0105, jak i bez niej. Oblicza rzeczywisty wk\u0142ad ka\u017cdego punktu styku, bior\u0105c pod uwag\u0119 takie czynniki jak czas do konwersji, typ urz\u0105dzenia czy interakcje z reklamami.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Kluczowe raporty w sekcji Reklamy (Advertising Workspace)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Aby uzyska\u0107 jasny obraz skuteczno\u015bci dzia\u0142a\u0144 wielokana\u0142owych, nale\u017cy skupi\u0107 si\u0119 na sekcji Reklamy w GA4:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Por\u00f3wnanie modeli (Model Comparison):<\/strong> Raport ten pozwala por\u00f3wna\u0107, jak r\u00f3\u017cne modele atrybucji (np. Ostatnie klikni\u0119cie vs Atrybucja oparta na danych) wyceniaj\u0105 poszczeg\u00f3lne kana\u0142y marketingowe. Je\u015bli warto\u015b\u0107 kana\u0142u znacznie wzrasta w modelu DDA, oznacza to, \u017ce odgrywa on kluczow\u0105 rol\u0119 na pocz\u0105tkowych lub \u015brodkowych etapach \u015bcie\u017cki klienta.<\/li>\n\n\n\n<li><strong>\u015acie\u017cki konwersji (Conversion Paths):<\/strong> To tutaj kryje si\u0119 najwi\u0119kszy potencja\u0142. Raport \u015acie\u017cki konwersji wizualizuje dok\u0142adn\u0105 sekwencj\u0119 kana\u0142\u00f3w, z kt\u00f3rymi u\u017cytkownicy wchodz\u0105 w interakcj\u0119 przed dokonaniem konwersji. Klasyfikuje on punkty styku na wczesne, \u015brodkowe i p\u00f3\u017ane, daj\u0105c kryszta\u0142owo czysty wgl\u0105d w anatomi\u0119 lejka.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Kwestie \u015bledzenia w dobie ochrony prywatno\u015bci (Privacy-First)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Podczas projektowania zgodnego z przepisami \u015bledzenia, kluczowe jest uwzgl\u0119dnienie Google Consent Mode v2 oraz Rozszerzonych konwersji (Enhanced Conversions). GA4 wykorzystuje modelowanie konwersji do uzupe\u0142niania luk po u\u017cytkownikach, kt\u00f3rzy odrzucili pliki cookie. Oznacza to, \u017ce raporty wielokana\u0142owe pozostaj\u0105 statystycznie wiarygodne i u\u017cyteczne, nawet w rygorystycznym \u015brodowisku RODO, bez naruszania prywatno\u015bci u\u017cytkownik\u00f3w.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Przek\u0142adanie danych wielokana\u0142owych na strategi\u0119 bud\u017cetow\u0105<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">GA4 dostarcza dane, ale prawdziwym wyzwaniem in\u017cynieryjnym jest przekszta\u0142cenie tych informacji w dynamiczn\u0105 strategi\u0119 bud\u017cetow\u0105. Metryki wielokana\u0142owe z GA4 mog\u0105 s\u0142u\u017cy\u0107 jako silnik dla architektury alokacji bud\u017cetu.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Identyfikacja niedowarto\u015bciowanych i przewarto\u015bciowanych kana\u0142\u00f3w<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Analiza raportu Por\u00f3wnanie modeli pozwala bezpo\u015brednio wp\u0142ywa\u0107 na dystrybucj\u0119 bud\u017cetu:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Kana\u0142y przewarto\u015bciowane (\u201eDomykacze\u201d):<\/strong> Kana\u0142y, kt\u00f3re wygl\u0105daj\u0105 \u015bwietnie w modelu Ostatniego klikni\u0119cia, ale trac\u0105 na warto\u015bci w modelu DDA, mog\u0105 otrzymywa\u0107 zbyt wiele kredytu zaufania. Mo\u017cna bezpiecznie eksperymentowa\u0107 z niewielkim zmniejszeniem ich bud\u017cetu.<\/li>\n\n\n\n<li><strong>Kana\u0142y niedowarto\u015bciowane (\u201eAsystenci\u201d):<\/strong> Kana\u0142y generuj\u0105ce wysok\u0105 warto\u015b\u0107 na wczesnych etapach w modelu DDA cz\u0119sto cierpi\u0105 z powodu ci\u0119\u0107 bud\u017cetowych, poniewa\u017c marketerzy nie widz\u0105 bezpo\u015bredniego zwrotu z inwestycji (ROI). Ich identyfikacja pozwala na alokacj\u0119 bud\u017cetu w celu zasilenia g\u00f3ry lejka.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Budowanie zaawansowanych narz\u0119dzi bud\u017cetowych (Stos technologiczny)<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">W przypadku aplikacji na poziomie Enterprise i niestandardowych rozwi\u0105za\u0144 SaaS, sam interfejs u\u017cytkownika GA4 rzadko jest wystarczaj\u0105cy. Aby zbudowa\u0107 prawdziwy Wielokana\u0142owy Pulpit Nawigacyjny Bud\u017cetu, mo\u017cna zintegrowa\u0107 ekosystem GMP z architektur\u0105 backendow\u0105:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Eksport do BigQuery:<\/strong> W\u0142\u0105czenie codziennego eksportu zdarze\u0144 z GA4 do BigQuery pozwala uzyska\u0107 surowe, niepr\u00f3bkowane dane.<\/li>\n\n\n\n<li><strong>Niestandardowe modelowanie atrybucji:<\/strong> Przy u\u017cyciu j\u0119zyka Python lub SQL mo\u017cna odpytywa\u0107 surowe dane o punktach styku w celu budowania niestandardowych modeli atrybucji opartych na \u0141a\u0144cuchach Markowa lub Warto\u015bci Shapleya, dopasowanych \u015bci\u015ble do logiki biznesowej.<\/li>\n\n\n\n<li><strong>Wizualizacja danych (Looker Studio \/ W\u0142asne pulpity):<\/strong> Po\u0142\u0105czenie BigQuery z Looker Studio pozwala na budowanie dynamicznych pulpit\u00f3w nawigacyjnych, kt\u00f3re krzy\u017cuj\u0105 przychody przypisane przez GA4 z rzeczywistymi wydatkami pobieranymi z API platform reklamowych (Google Ads, Meta Ads, LinkedIn Ads).<\/li>\n\n\n\n<li><strong>Automatyzacja stawek \/ Alokacji:<\/strong> Za pomoc\u0105 Node.js lub Pythona mo\u017cna pisa\u0107 skrypty, kt\u00f3re dostosowuj\u0105 dzienne bud\u017cety na r\u00f3\u017cnych platformach w oparciu o obliczony wielokana\u0142owy wska\u017anik ROAS (zwrot z nak\u0142ad\u00f3w na reklam\u0119) pochodz\u0105cy z modeli BigQuery.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Pobieranie danych z GA4: Eksport do BigQuery<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Poni\u017csze zapytanie SQL w BigQuery pozwala wyodr\u0119bni\u0107 \u015bcie\u017cki u\u017cytkownik\u00f3w z surowych danych. Przedstawia ono widok per u\u017cytkownik (<code>user_pseudo_id<\/code>) i pozwala sprawdzi\u0107, jakie \u015bcie\u017cki zosta\u0142y przez nich pokonane.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SQL<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#2e3440ff\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" style=\"color:#d8dee9ff;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><pre class=\"code-block-pro-copy-button-pre\" aria-hidden=\"true\"><textarea class=\"code-block-pro-copy-button-textarea\" tabindex=\"-1\" aria-hidden=\"true\" readonly>WITH conversions AS (\n  SELECT \n    user_pseudo_id,\n    event_timestamp AS conversion_time\n  FROM \n    `your_project.analytics_123456789.events_20260701`\n  WHERE \n    event_name = 'purchase'\n),\n\ntouchpoints AS (\n  SELECT \n    e.user_pseudo_id,\n    e.event_timestamp,\n    c.conversion_time,\n    CONCAT(\n      IFNULL((SELECT value.string_value FROM \n      UNNEST(e.event_params) WHERE key = 'source'), '(direct)'), \n      ' \/ ', \n      IFNULL((SELECT value.string_value FROM \n      UNNEST(e.event_params) WHERE key = 'medium'), '(none)')\n    ) AS source_medium\n  FROM \n    `your_project.analytics_123456789.events_20260701` e\n  JOIN \n    conversions c ON e.user_pseudo_id = c.user_pseudo_id\n  WHERE \n    e.event_name = 'session_start'\n    AND e.event_timestamp &lt;= c.conversion_time\n)\n\nSELECT \n  user_pseudo_id,\n  STRING_AGG(source_medium, ' > ' ORDER BY event_timestamp ASC) \n  AS conversion_path\nFROM \n  touchpoints\nGROUP BY \n  user_pseudo_id\nORDER BY \n  conversion_path DESC;<\/textarea><\/pre><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki nord\" style=\"background-color: #2e3440ff\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D8DEE9FF\">WITH conversions <\/span><span style=\"color: #81A1C1\">AS<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  SELECT <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    user_pseudo_id<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    event_timestamp <\/span><span style=\"color: #81A1C1\">AS<\/span><span style=\"color: #D8DEE9FF\"> conversion_time<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  FROM <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">`<\/span><span style=\"color: #A3BE8C\">your_project.analytics_123456789.events_20260701<\/span><span style=\"color: #ECEFF4\">`<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  WHERE <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    event_name <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">purchase<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">),<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">touchpoints <\/span><span style=\"color: #81A1C1\">AS<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  SELECT <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    e<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #D8DEE9FF\">user_pseudo_id<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    e<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #D8DEE9FF\">event_timestamp<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    c<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #D8DEE9FF\">conversion_time<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #88C0D0\">CONCAT<\/span><span style=\"color: #ECEFF4\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">      IFNULL<\/span><span style=\"color: #ECEFF4\">((<\/span><span style=\"color: #88C0D0\">SELECT value<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">string_value FROM <\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">      UNNEST<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">e<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">event_params<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #88C0D0\"> WHERE key <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">source<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #ECEFF4\">),<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">(direct)<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #ECEFF4\">),<\/span><span style=\"color: #88C0D0\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">      <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\"> \/ <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">      IFNULL<\/span><span style=\"color: #ECEFF4\">((<\/span><span style=\"color: #88C0D0\">SELECT value<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">string_value FROM <\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">      UNNEST<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">e<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #88C0D0\">event_params<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #88C0D0\"> WHERE key <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">medium<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #ECEFF4\">),<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">(none)<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #88C0D0\">    <\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #81A1C1\">AS<\/span><span style=\"color: #D8DEE9FF\"> source_medium<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  FROM <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #ECEFF4\">`<\/span><span style=\"color: #A3BE8C\">your_project.analytics_123456789.events_20260701<\/span><span style=\"color: #ECEFF4\">`<\/span><span style=\"color: #D8DEE9FF\"> e<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  JOIN <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    conversions c <\/span><span style=\"color: #81A1C1\">ON<\/span><span style=\"color: #D8DEE9FF\"> e<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #D8DEE9FF\">user_pseudo_id <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> c<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #D8DEE9FF\">user_pseudo_id<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  WHERE <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    e<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #D8DEE9FF\">event_name <\/span><span style=\"color: #81A1C1\">=<\/span><span style=\"color: #D8DEE9FF\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\">session_start<\/span><span style=\"color: #ECEFF4\">&#39;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">    <\/span><span style=\"color: #81A1C1\">AND<\/span><span style=\"color: #D8DEE9FF\"> e<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #D8DEE9FF\">event_timestamp <\/span><span style=\"color: #81A1C1\">&lt;=<\/span><span style=\"color: #D8DEE9FF\"> c<\/span><span style=\"color: #81A1C1\">.<\/span><span style=\"color: #D8DEE9FF\">conversion_time<\/span><\/span>\n<span class=\"line\"><span style=\"color: #ECEFF4\">)<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">SELECT <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  user_pseudo_id<\/span><span style=\"color: #ECEFF4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #88C0D0\">STRING_AGG<\/span><span style=\"color: #ECEFF4\">(<\/span><span style=\"color: #88C0D0\">source_medium<\/span><span style=\"color: #ECEFF4\">,<\/span><span style=\"color: #88C0D0\"> <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #A3BE8C\"> &gt; <\/span><span style=\"color: #ECEFF4\">&#39;<\/span><span style=\"color: #88C0D0\"> ORDER BY event_timestamp ASC<\/span><span style=\"color: #ECEFF4\">)<\/span><span style=\"color: #D8DEE9FF\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  <\/span><span style=\"color: #81A1C1\">AS<\/span><span style=\"color: #D8DEE9FF\"> conversion_path<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">FROM <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  touchpoints<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">GROUP BY <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  user_pseudo_id<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">ORDER BY <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D8DEE9FF\">  conversion_path DESC<\/span><span style=\"color: #81A1C1\">;<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Podsumowanie<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Zarz\u0105dzanie bud\u017cetem wielokana\u0142owym nie jest ju\u017c kwesti\u0105 zgadywania. Dzi\u0119ki wykorzystaniu atrybucji opartej na danych w GA4, poszanowaniu standard\u00f3w prywatno\u015bci i kierowaniu surowych danych przez solidne systemy backendowe, takie jak BigQuery, mo\u017cliwe jest projektowanie niestandardowych rozwi\u0105za\u0144 analitycznych. Gwarantuj\u0105 one, \u017ce ka\u017cda z\u0142ot\u00f3wka przeznaczona na marketing jest wydawana dok\u0142adnie tam, gdzie przynosi najwy\u017cszy matematyczny efekt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>W dzisiejszym rozproszonym ekosystemie cyfrowym u\u017cytkownicy rzadko dokonuj\u0105 konwersji po pojedynczej interakcji. Mog\u0105 odkry\u0107 produkt poprzez og\u00f3lne wyszukiwanie w Google, kilka dni p\u00f3\u017aniej klikn\u0105\u0107 reklam\u0119 retargetingow\u0105 na LinkedIn, a ostatecznie sfinalizowa\u0107 zakup dzi\u0119ki bezpo\u015bredniej kampanii e-mailowej. Z punktu widzenia architektury zorientowanej na dane, opieranie si\u0119 na starym modelu \u201eOstatnie klikni\u0119cie niebezpo\u015brednie\u201d (Last Non-Direct Click) jest [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-240","post","type-post","status-publish","format-standard","hentry","category-digital-analytics-pl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Zaawansowana analityka konwersji Cross-Channel Conversions w GA4 i Budget Allocation - Lukas Wojcik - Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Zaawansowana analityka konwersji Cross-Channel Conversions w GA4 i Budget Allocation - Lukas Wojcik - Blog\" \/>\n<meta property=\"og:description\" content=\"W dzisiejszym rozproszonym ekosystemie cyfrowym u\u017cytkownicy rzadko dokonuj\u0105 konwersji po pojedynczej interakcji. Mog\u0105 odkry\u0107 produkt poprzez og\u00f3lne wyszukiwanie w Google, kilka dni p\u00f3\u017aniej klikn\u0105\u0107 reklam\u0119 retargetingow\u0105 na LinkedIn, a ostatecznie sfinalizowa\u0107 zakup dzi\u0119ki bezpo\u015bredniej kampanii e-mailowej. Z punktu widzenia architektury zorientowanej na dane, opieranie si\u0119 na starym modelu \u201eOstatnie klikni\u0119cie niebezpo\u015brednie\u201d (Last Non-Direct Click) jest [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/\" \/>\n<meta property=\"og:site_name\" content=\"Lukas Wojcik - Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-06T17:42:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-07-06T17:43:38+00:00\" \/>\n<meta name=\"author\" content=\"luky\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"luky\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\\\/\"},\"author\":{\"name\":\"luky\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"headline\":\"Zaawansowana analityka konwersji Cross-Channel Conversions w GA4 i Budget Allocation\",\"datePublished\":\"2026-07-06T17:42:34+00:00\",\"dateModified\":\"2026-07-06T17:43:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\\\/\"},\"wordCount\":936,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"articleSection\":[\"Digital Analytics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\\\/\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\\\/\",\"name\":\"Zaawansowana analityka konwersji Cross-Channel Conversions w GA4 i Budget Allocation - Lukas Wojcik - Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\"},\"datePublished\":\"2026-07-06T17:42:34+00:00\",\"dateModified\":\"2026-07-06T17:43:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/pl\\\/digital-analytics-pl\\\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Zaawansowana analityka konwersji Cross-Channel Conversions w GA4 i Budget Allocation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/\",\"name\":\"Lukas Wojcik - Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/#\\\/schema\\\/person\\\/895f7604f9b6b71aad9bba33af28d0f9\",\"name\":\"luky\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"contentUrl\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\",\"width\":424,\"height\":636,\"caption\":\"luky\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/lw-x2.jpg\"},\"sameAs\":[\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\"],\"url\":\"https:\\\/\\\/www.lukaswojcik.com\\\/blog\\\/author\\\/luky\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Zaawansowana analityka konwersji Cross-Channel Conversions w GA4 i Budget Allocation - Lukas Wojcik - Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/","og_locale":"en_US","og_type":"article","og_title":"Zaawansowana analityka konwersji Cross-Channel Conversions w GA4 i Budget Allocation - Lukas Wojcik - Blog","og_description":"W dzisiejszym rozproszonym ekosystemie cyfrowym u\u017cytkownicy rzadko dokonuj\u0105 konwersji po pojedynczej interakcji. Mog\u0105 odkry\u0107 produkt poprzez og\u00f3lne wyszukiwanie w Google, kilka dni p\u00f3\u017aniej klikn\u0105\u0107 reklam\u0119 retargetingow\u0105 na LinkedIn, a ostatecznie sfinalizowa\u0107 zakup dzi\u0119ki bezpo\u015bredniej kampanii e-mailowej. Z punktu widzenia architektury zorientowanej na dane, opieranie si\u0119 na starym modelu \u201eOstatnie klikni\u0119cie niebezpo\u015brednie\u201d (Last Non-Direct Click) jest [&hellip;]","og_url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/","og_site_name":"Lukas Wojcik - Blog","article_published_time":"2026-07-06T17:42:34+00:00","article_modified_time":"2026-07-06T17:43:38+00:00","author":"luky","twitter_card":"summary_large_image","twitter_misc":{"Written by":"luky","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/#article","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/"},"author":{"name":"luky","@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"headline":"Zaawansowana analityka konwersji Cross-Channel Conversions w GA4 i Budget Allocation","datePublished":"2026-07-06T17:42:34+00:00","dateModified":"2026-07-06T17:43:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/"},"wordCount":936,"commentCount":0,"publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"articleSection":["Digital Analytics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/","url":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/","name":"Zaawansowana analityka konwersji Cross-Channel Conversions w GA4 i Budget Allocation - Lukas Wojcik - Blog","isPartOf":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#website"},"datePublished":"2026-07-06T17:42:34+00:00","dateModified":"2026-07-06T17:43:38+00:00","breadcrumb":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.lukaswojcik.com\/blog\/pl\/digital-analytics-pl\/zaawansowana-analityka-konwersji-cross-channel-conversions-w-ga4-i-budget-allocation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.lukaswojcik.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Zaawansowana analityka konwersji Cross-Channel Conversions w GA4 i Budget Allocation"}]},{"@type":"WebSite","@id":"https:\/\/www.lukaswojcik.com\/blog\/#website","url":"https:\/\/www.lukaswojcik.com\/blog\/","name":"Lukas Wojcik - Blog","description":"","publisher":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.lukaswojcik.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.lukaswojcik.com\/blog\/#\/schema\/person\/895f7604f9b6b71aad9bba33af28d0f9","name":"luky","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","url":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","contentUrl":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg","width":424,"height":636,"caption":"luky"},"logo":{"@id":"https:\/\/www.lukaswojcik.com\/blog\/wp-content\/uploads\/2026\/07\/lw-x2.jpg"},"sameAs":["https:\/\/www.lukaswojcik.com\/blog"],"url":"https:\/\/www.lukaswojcik.com\/blog\/author\/luky\/"}]}},"_links":{"self":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/240","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/comments?post=240"}],"version-history":[{"count":2,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/240\/revisions"}],"predecessor-version":[{"id":242,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/posts\/240\/revisions\/242"}],"wp:attachment":[{"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/media?parent=240"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/categories?post=240"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lukaswojcik.com\/blog\/wp-json\/wp\/v2\/tags?post=240"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}