Każda potwierdzona rezerwacja przekazywana z serwera do Google Ads, Meta, TikTok, Microsoft Ads i GA4

TapTime zamienia rezerwację stolika lub wizytę w konwersję, na której platformy reklamowe mogą się uczyć: wysyłaną po stronie serwera z identyfikatorem kliknięcia gościa, bez duplikatów względem Państwa piksela, i dostarczaną do Państwa systemów przez webhook, postback lub API. W cenie rezerwacji i wizyt od 125.90 zł miesięcznie.

14 dni za darmoBez kartyGoogle, Meta i TikTok podłączone w 10 minut

Kliknięcie reklamy lub link gclid · fbclid · tagi UTM
Rezerwacja potwierdzona evt_… · wartość · atrybucja
  • Google AdsPrzesyłanie konwersji z kliknięć
  • MetaConversions API
  • TikTokEvents API
  • Microsoft AdsUET Conversions API
  • GA4Measurement Protocol
  • Tag ManagerdataLayer na stronie
  • WebhookPodpisany JSON, dowolne 2xx
  • PostbackURL trackera z makrami
  • REST APIRezerwacje i strumień zdarzeń
Jedna potwierdzona rezerwacja, dziewięć miejsc docelowych, jeden identyfikator zdarzenia.

Czym jest śledzenie konwersji z rezerwacji?

Śledzenie konwersji z rezerwacji polega na przekazywaniu każdej potwierdzonej rezerwacji stolika lub wizyty z powrotem do platformy, która przyprowadziła gościa, aby Google Ads, Meta, TikTok, Microsoft Ads i Google Analytics 4 mierzyły rezerwacje zamiast wyświetleń stron i optymalizowały kampanie pod osoby, które faktycznie rezerwują. TapTime robi to z serwera, z powiązaniem z identyfikatorem kliknięcia reklamy i z jednym identyfikatorem zdarzenia na rezerwację, dzięki czemu piksel na stronie nigdy nie policzy jej podwójnie.

W skrócie

  • Konwersje są wysyłane z serwera TapTime w chwili potwierdzenia rezerwacji, więc blokery reklam, zamknięta karta czy wolny telefon nie mogą ich zgubić.
  • Google Ads otrzymuje konwersję z kliknięcia z gclid, gbraid lub wbraid; Meta i TikTok — zdarzenie serwerowe w swoich Conversions API i Events API; Microsoft Ads — zdarzenie UET z msclkid; GA4 — zdarzenie Measurement Protocol powiązane z sesją odwiedzającego.
  • Każda rezerwacja ma jeden identyfikator zdarzenia. Państwa piksel lub tag konwersji wysyła ten sam identyfikator, a platformy zachowują dokładnie jedno zdarzenie.
  • Liczą się tylko rezerwacje dokonane przez samych gości. Rezerwacje telefoniczne i goście bez rezerwacji wpisani przez personel nigdy nie są raportowani jako konwersje.
  • Webhooki, postbacki serwer–serwer i REST API dostarczają tę samą rezerwację wraz z atrybucją do CRM, trackera, Zapier lub własnego kodu.
  • Raportować można też zamówienia gości i nowych uczestników programu lojalnościowego — jako zakup z wartością i pozycjami oraz jako rejestrację — każde jeden raz.
  • Telegram, Slack, Microsoft Teams, Google Chat, Discord i Mattermost otrzymują każdą nową prośbę o rezerwację, zamówienie lub nagrodę jako czytelną wiadomość; Zapier, Make, n8n i Pipedream — jako dane dla dowolnego procesu.
  • Bez dodatkowych opłat. Śledzenie konwersji, webhooki, postbacki, powiadomienia na czacie, automatyzacja i API są częścią każdego modułu.
9
miejsc docelowych dla jednej potwierdzonej rezerwacji
1
identyfikator zdarzenia wspólny dla serwera i przeglądarki
30 dni
pamiętania kampanii gościa
8
prób doręczenia w ciągu mniej więcej doby

Dlaczego większość reklam restauracji i salonów optymalizuje pod niewłaściwy cel

Platformy reklamowe uczą się na tym, co zgłaszają im Państwo jako konwersję. Jeśli widzą tylko wyświetlenie strony, znajdują ludzi, którzy oglądają. Jeśli widzą potwierdzone rezerwacje, znajdują ludzi, którzy rezerwują.

01

„Piksel pokazuje 12 rezerwacji. Tablica pokazuje 31”.

Tag w przeglądarce uruchamia się tylko wtedy, gdy pozwala mu na to przeglądarka gościa: bez blokera reklam, bez restrykcyjnych ustawień prywatności iOS, z kartą wciąż otwartą w chwili załadowania potwierdzenia. Każda pominięta rezerwacja to sygnał, z którego Google i Meta nigdy się nie nauczą.

02

„Moje konwersje obejmują telefony wpisane przez personel”.

Rezerwacja wprowadzona ręcznie przez recepcję nie pochodzi z reklamy. Gdy zostaje policzona jako konwersja, kampania wygląda lepiej, niż jest w rzeczywistości, a budżet trafia na niewłaściwe słowa kluczowe.

03

„Nie wiem, która kampania naprawdę zapełniła taras”.

Bez kampanii, identyfikatora kliknięcia i strony odsyłającej zapisanych w samej rezerwacji wszystkie rezerwacje na tablicy wyglądają tak samo. Post na Instagramie, reklama Google i hotel partnerski dostają tę samą zasługę, czyli żadną.

Jak rezerwacja staje się konwersją w TapTime

Cztery kroki, z których żadnego nie trzeba pilnować. Cała ścieżka, od kliknięcia po dziennik doręczeń, działa po stronie TapTime.

  1. 1

    Gość przychodzi z identyfikatorem kliknięcia lub otagowanym linkiem

    Google Ads dodaje do linku gclid, gbraid lub wbraid. Meta dodaje fbclid, Microsoft msclkid, TikTok ttclid. Państwa własne linki zawierają utm_source, utm_medium, utm_campaign, utm_term i utm_content. Identyfikator trackera afiliacyjnego przychodzi jako click_id, clickid lub subid. TapTime odczytuje je raz — na stronie rezerwacji, w menu lub w widgecie rezerwacji na Państwa stronie — i przechowuje przez 30 dni na urządzeniu gościa.

  2. 2

    Rezerwacja zostaje potwierdzona

    Automatycznie albo później, gdy personel zaakceptuje oczekującą prośbę. W obu przypadkach w chwili potwierdzenia rezerwacji TapTime zapisuje zdarzenie rezerwacji i po jednym wierszu doręczenia dla każdego miejsca docelowego, w tej samej transakcji bazy danych co sama rezerwacja. Doręczenie nigdy nie zginie między dwoma systemami.

  3. 3

    Każde miejsce docelowe otrzymuje zdarzenie z jednym wspólnym identyfikatorem

    Google Ads otrzymuje przesłaną konwersję z kliknięcia z identyfikatorem kliknięcia i wartością konwersji. Meta i TikTok otrzymują zdarzenie serwerowe w swoich Conversions API i Events API. Microsoft Ads otrzymuje niestandardowe zdarzenie UET przez swoje Conversions API. GA4 otrzymuje zdarzenie Measurement Protocol powiązane z identyfikatorem klienta i identyfikatorem sesji odwiedzającego. Państwa webhooki otrzymują podpisany JSON, tracker — swój URL postbacku z wypełnionymi makrami, a strumień zdarzeń API zyskuje nowy wiersz. Identyfikator zdarzenia jest wszędzie ten sam.

  4. 4

    Błędy są ponawiane, a każde doręczenie jest widoczne

    Miejsce docelowe, które odpowie błędem, otrzymuje ponowienie po 1, 5 i 15 minutach, a potem po 1, 3, 6 i 12 godzinach — łącznie osiem prób. Ekran Integracje pokazuje 25 ostatnich doręczeń dla każdego miejsca docelowego z odpowiedzią samej platformy oraz przycisk Wyślij ponownie, gdy trzeba coś wypchnąć od razu.

Dziewięć dróg, którymi potwierdzona rezerwacja opuszcza TapTime

Można podłączyć jedną lub wszystkie w sekcji Integracje w panelu. Każda ma przycisk Testuj połączenie lub Wyślij test, dziennik doręczeń i instrukcję krok po kroku w centrum pomocy. Zamówienia i dołączenia do programu lojalnościowego można raportować do tych samych platform.

Śledzenie konwersji Google Ads

Dwie części, z których można korzystać razem. Tag w przeglądarce (identyfikator i etykieta konwersji) uruchamia się na stronie potwierdzenia. Przesyłanie z serwera wysyła konwersję przez Google Ads API z gclid, gbraid lub wbraid z linku rezerwacji, nawet gdy tag w przeglądarce został zablokowany. Google przyjmuje przesłane konwersje dla kliknięć z ostatnich 90 dni. Obie części mają ten sam identyfikator zamówienia, więc rezerwacja to jedna konwersja.

Konfiguracja konwersji Google Ads

Meta Conversions API (Facebook i Instagram)

Zdarzenie serwerowe dla każdej potwierdzonej rezerwacji, wysyłane do zbioru danych Państwa piksela z fbclid, plikami cookie Meta w przeglądarce, adresem IP i przeglądarką gościa oraz — o ile tego nie wyłączą Państwo — adresem e-mail i telefonem gościa zahaszowanymi algorytmem SHA-256, zanim opuszczą TapTime. Jako nazwę zdarzenia można wybrać Schedule, Lead lub Purchase. Test można przeprowadzić kodem zdarzenia testowego z Menedżera zdarzeń i obserwować, jak dociera.

Konfiguracja konwersji Meta

TikTok Events API

Zdarzenie serwerowe dla każdej potwierdzonej rezerwacji, wysyłane do Państwa piksela TikTok z ttclid z linku rezerwacji, adresem IP i przeglądarką gościa oraz — o ile tego nie wyłączą Państwo — jego adresem e-mail i telefonem zahaszowanymi algorytmem SHA-256, zanim opuszczą TapTime. Jako nazwę zdarzenia można wybrać Schedule, Lead, Submit form lub Place an order. TapTime umieszcza też Państwa piksel na stronie rezerwacji, więc zdarzenie przeglądarkowe i serwerowe mają jeden identyfikator, a TikTok zachowuje jedno.

Konfiguracja konwersji TikTok

Konwersje Microsoft Ads (Bing)

Dwie części, jak w Google Ads. TapTime umieszcza Państwa tag UET na stronie rezerwacji i uruchamia niestandardowe zdarzenie, gdy gość dokona rezerwacji. Po dodaniu tokenu Conversions API serwer raportuje to, czego tag nie widzi: rezerwacje potwierdzone po wyjściu gościa ze strony, zamówienia gości i nowych uczestników programu lojalnościowego, przypisywane po msclkid lub po zahaszowanym adresie e-mail i telefonie. Microsoft przyjmuje zdarzenia serwerowe z ostatnich 7 dni.

Konfiguracja konwersji Microsoft Ads

Zdarzenia rezerwacji w Google Analytics 4

Zdarzenie booking_confirmed dla każdej rezerwacji przez Measurement Protocol, z wartością i walutą, identyfikatorem klienta GA odwiedzającego i identyfikatorem sesji danej usługi, dzięki czemu rezerwacja łączy się z wizytą i kampanią, która do niej doprowadziła. Wystarczy oznaczyć je w GA4 jako kluczowe zdarzenie, a będzie liczone jako konwersja we wszystkich raportach i w ustalaniu stawek Google Ads.

Podłączanie Google Analytics 4

Webhooki dla CRM, Zapier, Make, n8n lub Pipedream

Endpoint https dla każdego systemu, subskrybujący wybrane zdarzenia rezerwacji, zamówień i lojalności. Każde żądanie to JSON z całą rezerwacją, zamówieniem lub kartą lojalnościową i jej atrybucją, podpisany HMAC-SHA256, aby można było zweryfikować, że pochodzi z TapTime. Każda odpowiedź 2xx oznacza sukces, 410 kończy ponawianie, a każde zdarzenie ma identyfikator, według którego można usuwać duplikaty.

Dodawanie webhooka

Postbacki serwer–serwer dla trackerów i afiliacji

Wystarczy wkleić URL postbacku otrzymany od sieci reklamowej, platformy afiliacyjnej lub trackera i wstawić makra: {click_id}, {event}, {status}, {value}, {currency}, {party_size}, {booking_id}, {utm_source}, {utm_campaign}, {gclid}, {fbclid} i inne. GET lub POST. Identyfikator kliknięcia trackera trafia do rezerwacji, gdy Państwa link zawiera click_id, clickid lub subid.

Konfiguracja postbacku

REST API dla rezerwacji i zdarzeń

Klucze Bearer, tylko do odczytu lub do odczytu i zapisu, 50 żądań na minutę na klucz. Lista rezerwacji stolików i wizyt filtrowana według statusu, oddziału, zakresu dat lub updatedSince, pobranie jednej rezerwacji, zmiana statusu z własnego systemu albo odpytywanie uporządkowanego strumienia zdarzeń z kursorem na potrzeby synchronizacji. Zmiany statusu wprowadzone przez API wywołują te same webhooki i konwersje co tablica.

Tworzenie klucza API

Tagi analityczne na stronie

Państwa strona TapTime zawiera własny identyfikator pomiaru GA4, kontener GTM i Meta Pixel w odizolowanej ze względów bezpieczeństwa piaskownicy analitycznej. Gdy gość dokona rezerwacji, strona wysyła booking_confirmed lub booking_requested do dozwolonego dataLayer z typem, wartością i identyfikatorem zdarzenia rezerwacji, aby narzędzia analityczne mogły na nie reagować. Strony zamówień i płatności nie otrzymują tagów lokalu, a widget rezerwacji na Państwa własnej stronie robi to samo dla jej tagów.

Dodawanie tagów do strony

Nie tylko rezerwacje: liczą się też zamówienia i lojalność

Ta sama kolejka wysyłkowa, która raportuje rezerwacje, raportuje to, co dzieje się po tym, jak gość usiądzie. Każdy cel włącza się osobno dla każdej platformy, w sekcji połączenia „Co raportować”.

Zamówienia jako zakupy

Zamówienie gościa ze strony, z kodu QR przy stoliku, na wynos lub z dostawą jest wysyłane raz, gdy dotrze do lokalu: jako zakup w GA4 z pozycjami, Purchase w Meta lub TikTok z zawartością, zdarzenie zakupu w Microsoft Ads i przesłanie do osobnej akcji konwersji w Google Ads. Wartość to kwota zamówienia bez napiwku. Sprzedaż nabita na kasie nigdy nie jest raportowana — nie spowodowała jej żadna reklama.

Dołączenia do programu lojalnościowego

Pierwsza pieczątka klienta w programie to rejestracja: sign_up w GA4, CompleteRegistration w Meta i TikTok dopasowane po zahaszowanym telefonie, zdarzenie rejestracji w Microsoft Ads, a w Google Ads tylko wtedy, gdy klient przyszedł z kliknięcia reklamy. Raz na uczestnika i program, niezależnie od liczby zapełnionych kart.

Każde zdarzenie, wszędzie indziej

Webhooki, postbacki, powiadomienia na czacie, platformy automatyzacji i REST API otrzymują wszystkie jedenaście zdarzeń: prośbę o rezerwację, jej potwierdzenie, odwołanie, oznaczenie niestawiennictwa lub zakończenie; złożenie lub opłacenie zamówienia; dołączenie uczestnika, pieczątkę, zdobycie i wydanie nagrody.

Śledzenie konwersji w przeglądarce czy po stronie serwera: czego potrzebuje restauracja lub salon?

Obu, a TapTime obsługuje oba. Tag w przeglądarce daje platformom informację o wizycie; zdarzenie serwerowe gwarantuje, że rezerwacja zostanie policzona. Oto co się zmienia po podłączeniu strony serwerowej.

Sytuacja Tylko piksel lub tag na stronie TapTime po stronie serwera + Państwa tag
Blokery reklam i restrykcyjna prywatność przeglądarki Konwersja po cichu przepada Wysyłana z serwera niezależnie od przeglądarki gościa
Gość zamyka kartę, zanim załaduje się potwierdzenie Przepada Wysyłana w chwili zapisania rezerwacji, a nie wyrenderowania strony
Personel potwierdza oczekującą prośbę następnego ranka Żadna strona się nie ładuje, brak konwersji Wysyłana w chwili potwierdzenia, niezależnie od tego, kto potwierdził
Rezerwacje telefoniczne i goście bez rezerwacji Liczone, jeśli personel korzysta z tej samej strony Nigdy nie raportowane; tylko rezerwacje dokonane przez gościa online
Uruchamia się zarówno tag, jak i serwer Dwie konwersje za jedną rezerwację Jeden wspólny identyfikator zdarzenia; platforma zachowuje jedno
Wartość konwersji To, co jest na sztywno wpisane w tagu Cena usługi lub Państwa wartość za rezerwację, opcjonalnie pomnożona przez liczbę osób
Która kampania otrzymuje zasługę Zależy od tego, czy przetrwają pliki cookie Identyfikator kliknięcia i tagi UTM zapisane w rezerwacji, pamiętane przez 30 dni

Jak TapTime zapobiega podwójnemu liczeniu rezerwacji?

Każda rezerwacja ma dokładnie jeden identyfikator zdarzenia konwersji — HMAC rezerwacji, który TapTime zwraca stronie w odpowiedzi na rezerwację i wysyła z serwera. Zdarzenie przeglądarkowe przekazuje go jako identyfikator transakcji Google Ads oraz jako identyfikator zdarzenia dla Meta, TikTok i tagu Microsoft UET; zdarzenie serwerowe przekazuje tę samą wartość. Te cztery platformy usuwają duplikaty na jego podstawie, a GA4 w ogóle nie otrzymuje zdarzenia przeglądarkowego, dopóki podłączona jest integracja serwerowa. Rezerwacja potwierdzona, odwołana i ponownie potwierdzona wysyła drugi webhook, bo Państwa system powinien o tym wiedzieć, ale pozostaje jedną konwersją.

Platforma Po stronie serwera Po stronie przeglądarki Klucz deduplikacji
Google Ads uploadClickConversions z identyfikatorem kliknięcia konwersja gtag z send_to orderId / transaction_id
Meta Conversions API, zdarzenia do 7 dni wstecz fbq track z eventID event_id
TikTok Events API z ttclid ttq.track z event_id event_id
Microsoft Ads Conversions API, zdarzenia do 7 dni wstecz uetq push z event_id event_id
GA4 Measurement Protocol z identyfikatorem klienta i sesji tylko gdy strona serwerowa nie jest podłączona jedno źródło naraz

Jak wygląda webhook rezerwacji TapTime?

Żądanie POST z treścią JSON: identyfikator, typ i czas zdarzenia, informacja, czy jest testowe, oraz cała rezerwacja (lub zamówienie, lub karta lojalnościowa), łącznie z gościem, terminem, stolikiem lub usługą, statusem i źródłem. Cztery nagłówki identyfikują je i podpisują.

TapTime-Event
typ zdarzenia: booking.confirmed, order.placed, loyalty.reward_issued i osiem innych
TapTime-Event-Id
identyfikator zdarzenia, taki sam przy każdym ponowieniu, do usuwania duplikatów
TapTime-Delivery
identyfikator tej konkretnej próby doręczenia
TapTime-Signature
t=<czas unix>,v1=<szesnastkowy HMAC-SHA256 z "t.body"> z Państwa kluczem whsec_
  • Odpowiedź z dowolnym statusem 2xx w limicie czasu żądania oznacza, że doręczenie się powiodło.
  • Każda inna odpowiedź lub jej brak skutkuje ponowieniem — maksymalnie osiem razy w ciągu mniej więcej doby, z rosnącymi odstępami.
  • Odpowiedź 410 Gone sprawia, że TapTime przestaje ponawiać to zdarzenie do tego endpointu.
  • Przekierowania nie są obsługiwane. W środowisku produkcyjnym endpointy muszą używać https i nie mogą wskazywać na adresy prywatne ani pętli zwrotnej.
  • Do 50 endpointów, czatów i połączeń z platformami automatyzacji na firmę. Właściciel może ponownie wyświetlić lub zmienić klucz podpisu; zmiana natychmiast unieważnia poprzedni.
Przewodnik po webhookach
POST · application/json · booking.confirmed
{
  "id": "evt_9f3c2a7e1b",
  "type": "booking.confirmed",
  "createdAt": "2026-09-12T19:02:11+03:00",
  "test": false,
  "data": {
    "booking": {
      "kind": "reservation",
      "id": 4821,
      "status": "confirmed",
      "startsAt": "2026-09-12T20:00:00+03:00",
      "partySize": 4,
      "guest": { "name": "Maria K.", "email": "…", "phone": "…" },
      "attribution": {
        "channel": "widget",
        "utmSource": "instagram",
        "utmMedium": "paid_social",
        "utmCampaign": "summer_terrace",
        "gclid": null,
        "fbclid": "IwAR2…",
        "landingUrl": "https://example-bistro.com/?fbclid=…"
      }
    }
  }
}
Weryfikacja podpisu (Node.js)
const [t, v1] = req.headers["taptime-signature"]
  .split(",").map(part => part.split("=")[1]);
const expected = crypto
  .createHmac("sha256", process.env.TAPTIME_WEBHOOK_SECRET)
  .update(`${t}.${rawBody}`)
  .digest("hex");
const valid = crypto.timingSafeEqual(
  Buffer.from(expected), Buffer.from(v1));

Jak działają postbacki serwer–serwer dla konwersji z rezerwacji?

Postback to własny URL trackera, wywoływany przez serwer TapTime przy każdym zdarzeniu, z danymi rezerwacji podstawionymi w miejsce makr. W ten sposób sieci afiliacyjne, platformy CPA i trackery kliknięć liczą konwersję bez żadnego kodu na stronie. Państwa link rezerwacji przenosi identyfikator kliknięcia trackera jako click_id, clickid lub subid; TapTime zapisuje go w rezerwacji i wstawia z powrotem do adresu URL, gdy rezerwacja zostanie potwierdzona, odwołana lub oznaczona jako niestawiennictwo.

Przewodnik po postbackach
URL postbacku z makrami · GET lub POST
https://tracker.example/postback
  ?cid={click_id}
  &event={event}
  &status={status}
  &payout={value}
  &cur={currency}
  &guests={party_size}
  &src={utm_source}

Dostępne makra

  • {event}
  • {event_id}
  • {status}
  • {booking_id}
  • {booking_type}
  • {order_id}
  • {customer_id}
  • {conversion_id}
  • {value}
  • {currency}
  • {party_size}
  • {branch_id}
  • {timestamp}
  • {utm_source}
  • {utm_medium}
  • {utm_campaign}
  • {utm_term}
  • {utm_content}
  • {gclid}
  • {fbclid}
  • {msclkid}
  • {ttclid}
  • {click_id}

Powiadomienia na czacie, z którego zespół już korzysta — i automatyzacja bez kodu

Wystarczy wybrać, o jakich zdarzeniach ma informować czat: nowa prośba o rezerwację do potwierdzenia, nowe zamówienie, odwołanie, zdobyta nagroda. Każde dociera w kilka sekund jako krótka wiadomość w wybranym języku — kto, kiedy, ile osób i jaka kwota — z linkiem do panelu.

Komunikatory

Telegram

Bot utworzony przez @BotFather publikuje w grupie, na kanale lub w jednym wątku grupy. Panel sam znajduje czat.

Slack

Przychodzący webhook publikuje sformatowane wiadomości na dowolnym kanale.

Microsoft Teams

Webhook Workflows publikuje kartę Adaptive Card ze szczegółami i przyciskiem do panelu.

Google Chat

Webhook pokoju publikuje w nim każde zdarzenie.

Discord

Webhook serwera publikuje osadzenie oznaczone kolorem; wzmianki są zawsze wyłączone.

Mattermost

Przychodzący webhook w chmurze lub na własnym serwerze.

Konfiguracja powiadomień na czacie

Platformy automatyzacji

Zapier

Wyzwalacz Catch Hook: każda rezerwacja do Arkuszy Google, każde zamówienie do księgowości, każdy nowy uczestnik do Mailchimp.

Make

Wyzwalacz Custom webhook dla scenariuszy z routerami, filtrami i ponad 2000 aplikacji.

n8n

Węzeł Webhook w n8n Cloud lub na własnym serwerze — dane nie muszą opuszczać Państwa infrastruktury.

Pipedream

Wyzwalacz HTTP dla procesów z własnymi krokami w Node.js lub Pythonie.

Platformy automatyzacji otrzymują ten sam podpisany JSON co webhooki. Aplikacje dla nich mogą subskrybować i anulować subskrypcje przez REST API, więc użytkownicy włączają wyzwalacze bez wklejania adresu URL.

Podłączanie platformy automatyzacji

Co potrafi REST API TapTime?

Wystarczająco dużo, by prowadzić własne raporty, synchronizować CRM lub kasę albo potwierdzać rezerwacje z innego systemu — bez programu partnerskiego i rozmowy handlowej. Klucze tworzy się w sekcji Integracje; są wyświetlane jeden raz, przechowywane jako skrót SHA-256 i unieważniane jednym kliknięciem.

Żądanie Zwraca
GET /v1/company Firma, do której należy klucz
GET /v1/company/reservations Rezerwacje stolików filtrowane według status, branchId, from, to lub updatedSince; do 100 na stronę
GET /v1/company/appointments Wizyty z tymi samymi filtrami
GET /v1/company/reservations/{id} Jedna rezerwacja w kształcie treści webhooka, wraz z atrybucją
POST /v1/company/reservations/{id}/status Potwierdzenie, odwołanie, oznaczenie niestawiennictwa, zakończenie, posadzenie lub ponowne otwarcie (klucze z zapisem); wywołuje te same webhooki i konwersje
GET /v1/company/orders Zamówienia z pozycjami i sumami, filtrowane według statusu, źródła, sposobu realizacji, daty lub paidSince
GET /v1/company/loyalty/cards Karty lojalnościowe uczestników; programy i nagrody mają własne listy
GET /v1/company/events?after={cursor} Wszystkie zdarzenia rezerwacji, zamówień i lojalności po kolei, opcjonalnie tylko wybrane typy; odpytywanie z ostatnim kursorem utrzymuje synchronizację
POST /v1/company/webhooks Subskrypcja adresu URL dla zdarzeń, a DELETE ją anuluje — REST hooks dla aplikacji Zapier, Make, n8n i Pipedream
Potwierdzone rezerwacje zmienione od wskazanej daty
curl "https://api.tapti.me/v1/company/reservations?status=confirmed&updatedSince=2026-09-01T00:00:00Z" \
  -H "Authorization: Bearer tt_live_…"
Synchronizacja ze strumieniem zdarzeń
curl "https://api.tapti.me/v1/company/events?after=eyJpZCI6OTk4fQ&limit=100" \
  -H "Authorization: Bearer tt_live_…"
Pełna dokumentacja API Przewodnik po API

Jakie dane atrybucji są zapisywane przy każdej rezerwacji?

Każda rezerwacja stolika i wizyta zachowuje kampanię, która przyprowadziła gościa, oczyszczoną i zapisaną w samej rezerwacji. Jest widoczna w panelu szczegółów rezerwacji, podsumowana na pulpicie w sekcji Skąd pochodzą rezerwacje, uwzględniona w eksportach CSV i Excel oraz wysyłana z każdym webhookiem, odpowiedzią API i konwersją.

Kampania

  • utm_source
  • utm_medium
  • utm_campaign
  • utm_term
  • utm_content

Identyfikatory kliknięć reklam

  • gclid
  • gbraid
  • wbraid
  • fbclid
  • msclkid
  • ttclid
  • click_id / clickid / subid

Tożsamość analityczna

  • identyfikator klienta GA4
  • identyfikator sesji GA4 dla każdej usługi
  • plik cookie Meta fbp
  • Meta fbc (tworzony z fbclid, gdy brakuje pliku cookie)

Kontekst

  • kanał: web, widget lub aplikacja
  • URL strony docelowej
  • strona odsyłająca
  • adres IP i identyfikator przeglądarki

Strona dla gości odczytuje kampanię raz, z adresu, pod którym została otwarta, przechowuje ją przez 30 dni, a późniejsza wizyta bez tagów jej nie usuwa. Wygrywa ostatnia kampania. Rezerwacje wpisane ręcznie przez personel i zamówienia nabite na kasie nie mają kampanii — i tak jest prawidłowo: gość nie przyszedł przez link.

Przewodnik po atrybucji

Co liczy się jako konwersja, a co nigdy?

Liczy się jako konwersja

  • Rezerwacja stolika lub wizyta dokonana przez gościa online, na Państwa stronie TapTime lub w widgecie rezerwacji na Państwa stronie, po jej potwierdzeniu.
  • Oczekująca prośba zaakceptowana później przez personel. Konwersja jest wysyłana w chwili akceptacji.
  • Rezerwacja z identyfikatorem kliknięcia Google — dla przesyłania z serwera do Google Ads. Rezerwacje bez niego są dla Google pomijane, nigdy nie kończą się błędem i nadal trafiają do Meta, GA4 i Państwa webhooków.

Nigdy nie liczone

  • Rezerwacje wpisane przez personel po telefonie lub dla gościa bez rezerwacji. Nie mają kliknięcia ani kampanii.
  • Druga konwersja za tę samą rezerwację, niezależnie od tego, ile razy zostanie ponownie otwarta i potwierdzona.
  • Rezerwacja odwołana lub z niestawiennictwem. Takie rezerwacje są wysyłane jako zdarzenia webhooka i postbacku z własnym statusem, a nie jako konwersje.

Dla firm, które płacą za rezerwacje

Jeśli kupują Państwo kliknięcia, które kończą się rezerwacją stolika lub wizytą, to brakująca połowa Państwa konta reklamowego.

Słowniczek śledzenia konwersji

Pojęcia używane przez platformy, zebrane w jednym miejscu, wraz z ich znaczeniem dla rezerwacji.

Konwersja
Działanie, które platforma reklamowa ma liczyć i pod które ma optymalizować kampanie. W TapTime to potwierdzona rezerwacja stolika lub wizyta dokonana przez gościa online.
Śledzenie konwersji po stronie serwera
Przekazywanie konwersji z serwera do API platformy zamiast ze skryptu w przeglądarce gościa, dzięki czemu nie gubią jej blokery reklam, ustawienia prywatności ani zamknięta karta.
gclid, gbraid, wbraid
Identyfikatory kliknięć Google dodawane do adresu strony docelowej reklamy. gclid to klasyczny identyfikator; gbraid i wbraid to warianty chroniące prywatność, z kampanii aplikacji na iOS i kampanii internetowych. Google Ads może przypisać przesłaną konwersję tylko do kliknięcia rozpoznanego po jednym z nich.
fbclid, fbp, fbc
Identyfikator kliknięcia Meta w adresie URL, plik cookie z identyfikatorem przeglądarki ustawiany przez piksel oraz plik cookie kliknięcia tworzony z fbclid. Wszystkie trzy pomagają Conversions API dopasować rezerwację do kliknięcia reklamy.
Przesyłanie konwersji z kliknięć Google Ads
Metoda Google Ads API (uploadClickConversions), za pomocą której serwer zgłasza konwersję dla konkretnego kliknięcia, z identyfikatorem kliknięcia, czasem, wartością i identyfikatorem zamówienia służącym do usuwania duplikatów.
ttclid, msclkid
Identyfikatory kliknięć TikTok i Microsoft dodawane do adresu strony docelowej reklamy przez automatyczne tagowanie. TikTok Events API i Microsoft Conversions API wykorzystują je do przypisania rezerwacji do kliknięcia reklamy, które do niej doprowadziło.
Meta Conversions API (CAPI)
Endpoint serwer–serwer Meta dla zdarzeń. Każde zdarzenie ma event_id; gdy piksel wyśle to samo zdarzenie z tym samym identyfikatorem, Meta zachowuje jedno.
GA4 Measurement Protocol
Endpoint HTTP Google Analytics 4 dla zdarzeń serwerowych. Zdarzenie łączy się z sesją odwiedzającego, gdy zawiera identyfikator klienta i identyfikator sesji z plików cookie GA, a sesja ma mniej niż około 72 godziny.
Kluczowe zdarzenie
Nazwa konwersji w GA4. Zdarzenie liczy się jako konwersja w raportach GA4 i w ustalaniu stawek Google Ads dopiero po oznaczeniu go jako kluczowe zdarzenie w sekcji Administracja → Zdarzenia.
Usuwanie duplikatów zdarzeń
Wysyłanie jednego wspólnego identyfikatora ze zdarzeniem przeglądarkowym i serwerowym, aby platforma, która otrzyma oba, policzyła jedną konwersję.
Parametry UTM
utm_source, utm_medium, utm_campaign, utm_term i utm_content: tagi dodawane do własnych linków, aby rezerwacja pamiętała post, newsletter, ulotkę lub partnera, który przyprowadził gościa.
Webhook
Żądanie HTTP, które TapTime wysyła na należący do Państwa adres URL za każdym razem, gdy coś się wydarzy, z pełnymi danymi w formacie JSON i podpisem do weryfikacji.
Postback (piksel serwer–serwer)
Adres URL udostępniony przez sieć reklamową lub tracker, który serwer reklamodawcy wywołuje przy każdej konwersji, z identyfikatorem kliknięcia trackera i wynagrodzeniem wstawionymi w miejsce makr.
Podpis HMAC-SHA256
Skrót z kluczem obliczany z treści żądania i znacznika czasu przy użyciu wspólnego klucza tajnego. Ponowne obliczenie go po swojej stronie dowodzi, że żądanie pochodzi z TapTime i nie zostało zmienione.
Doręczenie co najmniej raz
Gwarancja, że każde zdarzenie zostanie doręczone, za cenę tego, że ponowienie może doręczyć je dwukrotnie. Dlatego każde zdarzenie TapTime ma identyfikator, według którego można pomijać duplikaty.
Konwersja offline
Konwersja, która następuje poza sesją przeglądarki, np. gdy personel potwierdza prośbę następnego dnia. TapTime wysyła ją w chwili potwierdzenia z pierwotnym identyfikatorem kliknięcia.

W cenie. Nie dodatek, nie wyższy plan.

Śledzenie konwersji, webhooki, postbacki, powiadomienia na czacie, automatyzacja i REST API są dostępne z każdym modułem: zdarzenia rezerwacji z modułem Rezerwacje stolików od 125.90 zł miesięcznie za lokalizację i z modułem Wizyty od 169.90 zł miesięcznie za lokalizację, zdarzenia zamówień z menu QR, zdarzenia lojalnościowe z modułem Lojalność. Bez opłat za zdarzenie i bez limitu doręczeń.

Każdy moduł ma własny 14-dniowy okres próbny, bez karty na start, z rozliczeniem miesięcznym i bez umowy. Po zaprzestaniu płatności moduł zostaje wstrzymany po krótkim okresie karencji; nic nie jest usuwane.

Pytania specjalistów od reklam i programistów

Czy TapTime wysyła konwersje z serwera, czy z przeglądarki gościa?

Z obu. Serwer wysyła konwersję w chwili potwierdzenia rezerwacji, przez Google Ads API, Meta Conversions API i GA4 Measurement Protocol. Państwa tag lub piksel w przeglądarce również może się uruchomić; ma ten sam identyfikator zdarzenia, więc platformy liczą jedną konwersję.

Czy do śledzenia konwersji z rezerwacji potrzebny jest Google Tag Manager?

Nie. TapTime komunikuje się z Google Ads, Meta i GA4 bezpośrednio z serwera. Tag Manager przydaje się tylko wtedy, gdy chcą Państwo uruchamiać inne narzędzia na podstawie zdarzenia booking_confirmed, które strona wysyła do dataLayer.

Czego potrzebuję z Google Ads, aby włączyć przesyłanie z serwera?

Akcji konwersji, identyfikatora klienta (Customer ID), identyfikatora akcji konwersji (liczba po ctId= w adresie akcji) oraz dostępu do API: tokenu programisty, identyfikatora i klucza tajnego klienta OAuth oraz tokenu odświeżania. Może je wydać Państwa agencja lub programista. Bez dostępu do API nadal można korzystać z tagu w przeglądarce.

Dlaczego doręczenie pokazuje komunikat „Brak kliknięcia reklamy Google przy tej rezerwacji”?

Gość nie przyszedł z reklamy Google, więc link rezerwacji nie zawierał gclid, gbraid ani wbraid. Google przyjmuje przesłane konwersje tylko dla rozpoznanych kliknięć, dlatego ta rezerwacja jest dla Google Ads pomijana, a nie ponawiana. Nadal trafia do Meta, GA4 i Państwa webhooków.

Jak Meta Conversions API dopasowuje rezerwację do reklamy?

Na podstawie fbclid z linku, plików cookie Meta w przeglądarce (fbp i fbc), adresu IP i przeglądarki gościa oraz — o ile nie wyłączą Państwo opcji Wysyłaj zahaszowany e-mail i telefon — adresu e-mail i numeru telefonu gościa zahaszowanych algorytmem SHA-256, zanim opuszczą TapTime.

Jak TapTime raportuje rezerwacje do TikTok?

Przez TikTok Events API, z serwera, w chwili potwierdzenia rezerwacji. TapTime umieszcza też Państwa piksel TikTok na stronie rezerwacji, więc nie trzeba go tam dodawać. Oba zdarzenia mają ten sam identyfikator, a TikTok zachowuje jedno. Dopasowanie opiera się na ttclid z linku, adresie IP i przeglądarce gościa oraz — o ile tego nie wyłączą Państwo — jego adresie e-mail i telefonie zahaszowanych algorytmem SHA-256.

Czego potrzebuję do śledzenia konwersji w Microsoft Ads (Bing)?

Na początek wystarczy identyfikator tagu UET: TapTime umieszcza tag na stronie rezerwacji i uruchamia Państwa akcję zdarzenia, gdy gość dokona rezerwacji. Po dodaniu tokenu Conversions API z ustawień tagu serwer raportuje także rezerwacje potwierdzone po wyjściu gościa, zamówienia gości i nowych uczestników programu lojalnościowego. Microsoft włącza Conversions API dla każdego konta osobno i przyjmuje tylko zdarzenia z ostatnich 7 dni.

Jaka wartość konwersji jest wysyłana?

W przypadku wizyt — cena usługi. W przypadku rezerwacji stolików — ustawiona przez Państwa wartość za rezerwację, czyli średni rachunek, opcjonalnie pomnożony przez liczbę osób. Jeśli pole pozostanie puste, konwersje są wysyłane bez wartości.

Czy rezerwacje wpisane przez personel będą liczone jako konwersje z reklam?

Nie. Jako konwersje raportowane są tylko rezerwacje dokonane przez samych gości online. Rezerwacje telefoniczne i goście bez rezerwacji wpisani przez personel nigdy nie zawyżają wyników reklam. Nadal są jednak widoczne w eksportach i na tablicy.

Co się dzieje, gdy rezerwacja zostanie potwierdzona, odwołana i ponownie potwierdzona?

Państwa webhooki i postbacki otrzymują każdą zmianę, każdą z własnym identyfikatorem zdarzenia i statusem, bo Państwa system powinien o tym wiedzieć. Google Ads, Meta i GA4 otrzymują jedną konwersję na rezerwację, zawsze.

Jak sprawdzić, czy webhook naprawdę pochodzi z TapTime?

Należy odczytać nagłówek TapTime-Signature, który wygląda tak: t=1726128000,v1=<hex>. Następnie obliczyć HMAC-SHA256 z ciągu t.body przy użyciu klucza podpisu i porównać wynik z v1 metodą porównania w stałym czasie. Żądanie należy odrzucić, jeśli wartości się różnią lub jeśli t jest starsze, niż uznają Państwo za dopuszczalne.

Czy webhook może trafiać do Zapier, Make lub n8n?

Tak. Wystarczy utworzyć w narzędziu webhook typu catch lub custom, wkleić jego adres jako endpoint i kliknąć Wyślij test, aby narzędzie poznało pola. Dane gościa, termin, status i atrybucja rezerwacji znajdują się w JSON.

Jak długo kampania jest pamiętana przed rezerwacją?

30 dni na urządzeniu gościa. Gość może otworzyć menu z reklamy na Instagramie w poniedziałek i zarezerwować w czwartek; rezerwacja nadal ma przypisaną tę kampanię. Późniejsza wizyta bez tagów jej nie usuwa, a późniejsza wizyta z inną kampanią ją zastępuje.

Czy widget rezerwacji na mojej stronie też śledzi konwersje?

Tak. Skrypt osadzenia odczytuje tagi UTM, identyfikatory kliknięć oraz pliki cookie GA i Meta z Państwa strony i przekazuje je do rezerwacji, więc rezerwacja z widgetu jest przypisywana do reklamy, która przyprowadziła odwiedzającego na Państwa stronę. Wysyła też taptime_booking_confirmed do dataLayer Państwa strony i może uruchamiać jej własne tagi GA4 i Meta.

Czy obowiązuje limit żądań lub opłata za wywołanie API albo webhook?

Klucze API mają limit 50 żądań na minutę każdy, a firma może mieć do 10 aktywnych kluczy oraz 20 endpointów webhooków lub postbacków. Nie ma opłaty za wywołanie, zdarzenie ani konwersję; wszystko jest w cenie abonamentów na rezerwacje stolików i wizyty.

Co jeśli przestanę płacić za moduł?

Po krótkim okresie karencji moduł zostaje wstrzymany, a strona rezerwacji wyświetla informację o czasowej niedostępności. Nic nie jest usuwane, łącznie z integracjami; po wznowieniu płatności doręczenia dla nowych rezerwacji zostają wznowione.

Czy któraś z tych funkcji to osobny abonament?

Nie. Konwersje Google Ads, Meta i GA4, webhooki, postbacki i REST API są częścią modułu Rezerwacje stolików od 125.90 zł miesięcznie i modułu Wizyty od 169.90 zł miesięcznie, za lokalizację, z 14-dniowym okresem próbnym i bez karty na start.

Czy TapTime może raportować zamówienia i dołączenia do programu lojalnościowego jako konwersje?

Tak. W sekcji „Co raportować” każdego połączenia można włączyć zamówienia gości (wysyłane jako zakup z wartością i pozycjami: purchase w GA4, Purchase w Meta lub druga akcja konwersji w Google Ads) oraz nowych uczestników programu lojalnościowego (sign_up w GA4, CompleteRegistration w Meta). Każde jest wysyłane raz na zamówienie i raz na uczestnika i program. Sprzedaż nabita na kasie nigdy nie jest raportowana.

Jak otrzymywać nowe rezerwacje i zamówienia na Telegramie lub Slacku?

W sekcji Integracje → Powiadomienia należy wybrać komunikator, wkleić token bota (Telegram) lub adres URL webhooka (Slack, Teams, Google Chat, Discord, Mattermost), wybrać zdarzenia i język, a następnie kliknąć Wyślij test. Od tej chwili każde wybrane zdarzenie przychodzi jako krótka wiadomość z linkiem do panelu. Adres i token są przechowywane w postaci zaszyfrowanej.

Czy TapTime współpracuje z Zapier, Make, n8n i Pipedream?

Tak, bez instalowania wtyczek. Wystarczy utworzyć catch hook na platformie, wkleić jego adres URL w sekcji Integracje → Automatyzacja, wybrać zdarzenia i kliknąć Wyślij test, aby platforma poznała pola. Od tej chwili każde zdarzenie rezerwacji, zamówienia i lojalności uruchamia Państwa proces, podpisane tak samo jak nasze webhooki. Aplikacje mogą też same się subskrybować przez POST /v1/company/webhooks.

Reklamy z jedynym sygnałem, który się liczy: rezerwacją.

Google Ads, Meta, TikTok, Microsoft Ads i GA4 podłączone w dziesięć minut, webhook dla CRM i dziennik doręczeń, który zaczyna się zapełniać. 14 dni za darmo, bez karty, rezygnacja w dowolnym momencie.

14 dni za darmo Bez karty płatniczej Rezygnacja w każdej chwili

Rezerwacje jako konwersje Wypróbuj za darmo przez 14 dni