To nie jest akademickie porównanie frameworków, ale odpowiadam na jedno pytanie: który framework dowozi niższy CAC przy konkretnym typie kampanii.
Fizyka CAC: dlaczego szybkość jest dźwignią finansową
CAC, czyli Customer Acquisition Cost, to koszt pozyskania jednego klienta z kampanii lub kanału marketingowego. sprowadza się do jednego ułamka:
Szybkość strony jest kluczowa, ponieważ wolne ładowanie wyrzuca użytkowników jeszcze zanim zobaczą ofertę. Laggujący formularz i skaczący layout eliminują ich w trakcie. Budżet pozostaje stały, ale konwersje topnieją. Każda milisekunda ładowania ma policzalną wartość rynkową — bo działa na ruch, za który już zapłaciłeś.
W Google Ads dochodzi jeszcze druga rzecz, czyli jakość strony docelowej. Google jasno określa Quality Score to diagnostyczny wskaźnik Google Ads oparty m.in. na przewidywanym CTR, trafności reklamy i doświadczeniu na stronie docelowej. jako narzędzie diagnostyczne, a nie bezpośredni czynnik aukcji — to jego komponenty (przewidywany CTR, trafność reklamy, doświadczenie na stronie docelowej) realnie wpływają na wynik. Kluczem do sukcesu jest praca na fundamentach landing page experience — trafność, użyteczność, przejrzystość, szybkość — a nie polowanie na cyferkę 1–10.
Astro: szybkość i lekkość
Astro będzie idealny w projekcie, w którym najistotniejszą rolę gra treść:
- nagłówek dopasowany do reklamy,
- sekcje korzyści i dowodu społecznego,
- cennik lub pakiety,
- FAQ,
- formularz albo CTA,
- analityka i tagi kampanii.
W tej konfiguracji większość strony nie potrzebuje ani grama JavaScriptu po stronie klienta. Astro renderuje statyczny HTML jak kompozyt węglowy — lekki, sztywny, szybki — a interaktywne moduły dokleja jako wyspy: formularz React, kalkulator kosztów, slider opinii, walidacja po stronie klienta. Wdrażamy ten model, by pozbyć się ciężaru, którego użytkownik nigdy nie zobaczy.
Jeśli strona tłumaczy ofertę, nie płacisz JavaScriptem za aplikację, której nikt nie uruchomi.
Next.js: wielozadaniowiec pod większe projekty
Next.js będzie idealny wtedy, gdy landing page przestaje być stroną i staje się fragmentem produktu. Sygnały, że to jego moment:
- wieloetapowy formularz z warunkami i zapisem stanu,
- personalizacja treści pod kampanię, branżę albo lokalizację,
- dynamiczne ceny i dostępność,
- integracja z koszykiem, checkoutem albo kontem użytkownika,
- testy A/B sterowane po stronie serwera,
- logika consentu, geolokalizacji, wariantów prawnych.
Tu koszt złożoności się zwraca. Next.js daje kontrolę nad renderowaniem (SSR, czyli Server-Side Rendering, to generowanie HTML na serwerze przy żądaniu — komponent client:only je pomija i renderuje się wyłącznie w przeglądarce., RSC, czyli React Server Components, pozwalają renderować komponenty po stronie serwera bez wysyłania ich własnego kodu JavaScript do przeglądarki.), danymi, trasami, metadanymi i integracjami — to kokpit pilota, a nie deska rozdzielcza miejskiego hatchbacka. Cena wstępu: dyscyplina przy bundle'u, Client Components i third-party scripts. Bez tej dyscypliny myśliwiec spada z nieba na własną awionikę.
Algorytm decyzyjny
| Scenariusz landing page | Najlepszy wybór |
|---|---|
| Prosta oferta + formularz + CTA | Astro |
| Oferta + kalkulator albo interaktywny formularz | Astro + wyspy React |
| Personalizacja pod kampanię i warianty server-side | Next.js |
| Checkout, autoryzacja, dynamiczne ceny | Next.js |
| Strona treściowa z ciężkimi tagami marketingowymi | Astro z rygorystyczną kontrolą third-party scripts |
Stack dopasowujesz do zachowania strony. Znajomość Reacta nie zmusza Cię do Next.js. Astro używa Reacta dokładnie tam, gdzie interakcja generuje wartość — ani sekundy wcześniej.
Panel telemetrii: co mierzyć po starcie
Publikacja landing page'a to dopiero początek. Sprawdzenie, czy „formularz działa", to za mało — pełna telemetria PPC obejmuje:
- konwersję per kampania, grupa reklam i wariant LP,
- CAC oraz koszt leada zaakceptowanego przez sprzedaż,
- LCP, czyli Largest Contentful Paint, mierzy czas do wyrenderowania największego widocznego elementu — oznaczenie go preload przyspiesza jego załadowanie. , INP (Interaction to Next Paint) to Core Web Vital mierzący responsywność strony. Zastąpił FID i ocenia, ile czasu mija od interakcji użytkownika do najbliższego odrysowania ekranu, biorąc pod uwagę wszystkie interakcje w trakcie sesji. , CLS (Cumulative Layout Shift) to Core Web Vital mierzący nieoczekiwane przesunięcia elementów podczas ładowania i działania strony. Animacje psują go wtedy, gdy ruszają właściwości layoutowe albo gdy pojawiający się element nie ma zarezerwowanego miejsca. i TTFB, czyli Time To First Byte, mierzy czas od żądania do otrzymania pierwszego bajtu odpowiedzi z serwera. dla ruchu mobilnego,
- utrzymanie Google Click Identifier — unikalny parametr doklejany do URL po kliknięciu reklamy Google Ads. Łączy konkretne kliknięcie z późniejszą konwersją, także przy imporcie offline. i UTM-ów do thank-you page i CRM,
- błędy formularza i porzucone kroki,
- wpływ skryptów analitycznych, czatu i heatmap na LCP oraz INP.
Przy dużym budżecie media każde techniczne opóźnienie ma cenę liczalną w PLN. Pogłębienie tematu znajdziesz w analizie ile kosztuje sekunda opóźnienia strony.
