Dynamiczna podmiana numerów (ang. Dynamic Number Insertion, DNI) to mechanizm call trackingu, który w momencie wejścia użytkownika na stronę zastępuje statyczny numer telefonu numerem przypisanym tymczasowo do tej konkretnej sesji, pobranym z puli numerów. Dzięki temu połączenie telefoniczne można powiązać z konkretną wizytą, źródłem ruchu, kampanią, słowem kluczowym, a w przypadku Google Ads – z identyfikatorem kliknięcia gclid. Dla marketera oznacza to, że telefon przestaje być „czarną dziurą” w analityce i staje się mierzalną konwersją telefoniczną, tak samo jak formularz czy zakup.
Jak działa dynamiczna podmiana numerów?
DNI opiera się na skrypcie JavaScript osadzonym na stronie oraz na puli numerów zarezerwowanych w systemie call trackingu. Proces w uproszczeniu wygląda następująco:
- Użytkownik wchodzi na stronę, a skrypt odczytuje parametry sesji: źródło i medium ruchu, kampanię, gclid lub inne identyfikatory, adres URL i dane przeglądarki.
- System przypisuje do tej sesji wolny numer z puli i podmienia go we wszystkich miejscach na stronie (nagłówek, stopka, przycisk „zadzwoń”).
- Numer pozostaje „zarezerwowany” dla sesji przez określony czas po jej zakończeniu, aby użytkownik, który zapisał go lub zadzwonił chwilę później, wciąż został poprawnie przypisany.
- Gdy przychodzi połączenie na dany numer, system dopasowuje je do sesji, która w tym momencie miała go przypisanego, i przekazuje rozmowę na docelowy numer firmy.
- Dane o połączeniu (czas, długość, źródło, gclid) trafiają do panelu call trackingu, a stamtąd – jako konwersja – do Google Ads, GA4 lub CRM.
Kluczowe jest to, że użytkownik nie widzi żadnej różnicy: dzwoni na numer wyświetlony na stronie i rozmawia z firmą. Cała „magia” odbywa się w tle.
Poziomy podmiany numerów – porównanie
DNI można wdrożyć na różnym poziomie szczegółowości. Wybór zależy od celu analitycznego i budżetu na numery.
| Poziom podmiany | Jak działa | Co mierzy | Ile numerów potrzeba |
|---|---|---|---|
| Statyczny numer per źródło | Jeden stały numer dla Google Ads, inny dla Facebooka, inny offline | Kanał ruchu | Tyle, ile kanałów |
| DNI per kampania | Numer przypisany do kampanii lub grupy reklam | Kanał, kampania | Tyle, ile kampanii |
| DNI per sesja (pełne) | Każda równoczesna wizyta dostaje inny numer z puli | Kanał, kampania, słowo kluczowe, gclid, ścieżka na stronie | Zależy od liczby równoczesnych sesji |
Tylko podmiana na poziomie sesji pozwala przesłać konwersję telefoniczną do Google Ads z konkretnym gclid, co jest warunkiem korzystania ze strategii ustalania stawek opartych na konwersjach. Szczegóły importu konwersji offline opisuje dokumentacja Google Ads.
Jak dobrać wielkość puli numerów?
Pula musi być na tyle duża, aby w szczycie ruchu każda sesja otrzymała własny numer. Zbyt mała pula prowadzi do „kolizji” – dwie osoby widzą ten sam numer i połączenie nie może być jednoznacznie przypisane. Orientacyjna zasada:
Wielkość puli ≈ maksymalna liczba równoczesnych sesji × margines bezpieczeństwa (zwykle 1,5–2)
Załóżmy, że strona notuje w szczycie 30 równoczesnych sesji z płatnych kampanii, a numer pozostaje zarezerwowany jeszcze przez kilka minut po wyjściu użytkownika. Przy marginesie 1,5 pula powinna liczyć około 45 numerów. Jeśli ruch rośnie sezonowo, pulę należy monitorować i rozszerzać, zanim pojawią się kolizje.
Najczęstsze błędy przy wdrożeniu DNI
- Skrypt ładowany zbyt późno – użytkownik widzi przez chwilę statyczny numer, a niektórzy dzwonią, zanim nastąpi podmiana.
- Numer w grafice lub w treści niepodmienialnej (np. PDF, mapa Google), której skrypt nie „widzi”.
- Podmiana tylko ruchu płatnego bez uwzględnienia ruchu organicznego i bezpośredniego – analiza atrybucji jest wtedy niepełna.
- Zbyt krótki czas rezerwacji numeru po sesji lub zbyt mała pula, co powoduje błędne przypisania.
- Brak spójności z wizytówką Google i profilami w katalogach – numer statyczny w Google Business Profile powinien pozostać jeden i stały.
DNI w praktyce ICBM
W kampaniach, w których telefon jest głównym kanałem sprzedaży (usługi lokalne, medycyna, motoryzacja, B2B), wdrażamy pełne DNI na poziomie sesji, tak aby każda konwersja telefoniczna trafiała do Google Ads wraz z gclid. Pozwala to optymalizować stawki pod rzeczywiste rozmowy, a nie tylko kliknięcia w przycisk „zadzwoń”. Po wdrożeniu weryfikujemy podmianę na wszystkich szablonach stron i urządzeniach, a następnie łączymy dane z CRM klienta, aby odróżniać telefony sprzedażowe od obsługowych. Szczegóły oferty znajdziesz na stronie usługi call tracking.
Najczęściej zadawane pytania
Czy dynamiczna podmiana numerów szkodzi SEO?
Nie, jeśli jest poprawnie wdrożona. W kodzie źródłowym pozostaje główny numer firmy, a podmiana odbywa się po stronie przeglądarki użytkownika. Dane NAP (nazwa, adres, telefon) w wizytówce Google i katalogach powinny pozostać statyczne i spójne.
Czy klient dzwoniący na numer z puli zawsze dodzwoni się do firmy?
Tak. Każdy numer z puli jest przekierowany na docelowy numer firmy, a przekierowanie działa niezależnie od tego, czy sesja użytkownika jest jeszcze aktywna. Podmiana wpływa tylko na to, co jest wyświetlane na stronie i jak połączenie jest przypisywane w analityce.
Czym różni się DNI od zwykłego call trackingu z numerem per kanał?
Numer per kanał mówi tylko, z jakiego źródła pochodził ruch. DNI na poziomie sesji pozwala dodatkowo powiązać rozmowę z konkretną kampanią, słowem kluczowym, stroną docelową i gclid, co umożliwia automatyczne przesyłanie konwersji telefonicznych do Google Ads.
