> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eat-now.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Source Tracking

> Know exactly which platform — Instagram, Google, TripAdvisor, a newsletter — brought each reservation, and measure what every campaign really generates.

Every reservation made through your booking portal can carry the answer to one question: **where did this guest come from?** Source tracking records it automatically when guests arrive through a *tagged link*, and shows it everywhere — on the reservation card, in a dedicated report, and in your Excel exports.

## How it works, in plain terms

A tagged link is your normal booking link with a small label at the end:

```
https://book.eat-now.io/your-restaurant?utm_source=instagram
```

The label changes nothing for the guest — same portal, same booking flow. But when a visitor arrives through it, EatNow remembers the source and attaches it to the reservation they make, **even if they browse around first or come back a few days later** (the source is remembered for 30 days).

Three labels are available, from the universal UTM convention (they work regardless of the platform the link is posted on):

| Label          | Answers                    | Examples                                              |
| -------------- | -------------------------- | ----------------------------------------------------- |
| `utm_source`   | Where was the link posted? | `instagram`, `googlemap`, `tripadvisor`, `newsletter` |
| `utm_medium`   | What kind of placement?    | `bio`, `paid`, `email`, `qr_code`                     |
| `utm_campaign` | Which specific campaign?   | `summer2026`, `brunch-launch`                         |

<Note>
  `utm_source` is enough to start. Add `utm_medium` when you want to separate free posts from paid ads on the same platform, and `utm_campaign` when you run a specific operation you want to measure on its own.
</Note>

## Create your links

Don't type the labels by hand — a typo (`Instagram` vs `instagram`) splits your report in two. Use the built-in builder:

1. Open **Customers → By campaign**.
2. Click **Tracking link**.
3. Pick the source, optionally a medium and a campaign name, and copy the generated link.

Then paste each link where it belongs:

* **Instagram / TikTok bio** — the "link in bio".
* **Google Business Profile** — as your booking/website link.
* **TripAdvisor** — your website link.
* **Newsletter** — behind the "Book a table" button.
* **QR codes** — flyers, table tents, storefront.

One link per placement: that's what lets the report tell them apart.

<Note>
  Tracking also works when guests book **on your own website**, in both integrations:

  * **Floating widget** (`embed.js`): nothing to add — it passes the source through by itself.
  * **Embedded iframe**: an iframe cannot see your page's URL by itself, so also add the **source-tracking script** — one line, found next to the widget code in *Settings → Booking portal* — to every page of your site. On Wix, paste it in *Settings → Custom Code* with "All pages" (not in an "Embed HTML" block).

  Either way, a visitor who lands on `yoursite.com/?utm_source=instagram` and books later is credited to Instagram.
</Note>

## Paid ads: get the exact campaign name automatically

Ad platforms can fill the labels for you, so every ad click arrives with the real campaign name:

* **Meta Ads (Instagram / Facebook)** — in your ad's *URL parameters* field, set:
  ```
  utm_source=instagram&utm_medium=paid&utm_campaign={{campaign.name}}&utm_content={{ad.name}}
  ```
  Meta replaces the placeholders on every click.
* **Google Ads** — in *Account settings → Tracking → Final URL suffix*, set:
  ```
  utm_source=google&utm_medium=paid&utm_campaign={campaignid}
  ```

No integration needed: the names land straight in your campaign report.

## Read the results

* **On each reservation** — the reservation preview shows the source with its icon; when campaign data exists, a small chart icon opens the details (source, medium, campaign, referring site, landing page).
* **Customers → By campaign** — every tracked source over a period: number of bookings, guests, how many were seated, no-shows, cancellations, and recorded revenue. Filter by date, search, export CSV/XLS.
* **Excel export** — the reservation export includes the columns *Reservation ID*, *Booked on*, *Source*, *UTM source*, *UTM medium*, *UTM campaign* and *Referrer*, alongside date, time and status.

## Good to know

* **Every external website is detected even without a tagged link.** A guest who clicks a plain link in ChatGPT, a Google result, an Instagram post or a TripAdvisor page is credited to that platform, and a link from any other site (a local blog, a city guide…) is credited to that site's domain name — always with `referral` as the medium. The only exclusion is your own website, which is your entry point, not a source.
* **Privatization requests are tracked too**, and when you convert a request into a reservation, its source follows automatically.
* **Reservations without a source** are normal: guests who typed your portal address directly, or came through an untagged link. They still appear in **Customers → By source** under "Website".
* **Phone, walk-in and staff-entered reservations** have no tracking data — nothing was clicked.
* **The last tagged link wins**: if a guest clicks your Instagram link on Monday and your newsletter link on Friday before booking, the reservation is credited to the newsletter — the last link they deliberately clicked. Simply browsing your website or the booking page, with no tagged link involved, never changes the recorded source, and the memory lasts 30 days. So a guest who arrives via Instagram, reads the menu, and books the next day still counts as Instagram.
* **Privacy**: the tracking uses a first-party cookie limited to your booking portal — no third-party tracking, no data shared with ad platforms.
