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

# See website visits on a contact

> Copy the script from ShopWrk, paste it on your WordPress, Shopify, or Wix site, then read the pages a lead viewed after they submit a ShopWrk form.

Site Tracker records which pages someone opened on your shop's website. Those visits stay nameless until they submit a ShopWrk form. Then the pages show up on that contact in CRM, with the times they happened.

This is the part that changes a phone call. You are not guessing whether they looked at PPF or tint. You can see they sat on the pricing page, bounced to PPF, then filled out the form. Call or text them from the same contact.

Site Tracker is on the Autopilot plan only. Open **Settings → Integrations**, then **Site Tracker**. If your shop is on Essential or Pro you will get an upgrade screen. The headline on that screen is **See every step a visitor took before they booked.** Switch plans in **Settings → Billing**.

## Get the script

<Steps>
  <Step title="Open Site Tracker">
    Go to **Settings → Integrations**. Under **Available integrations**, find the **Site Tracker** card. It says it captures visitor activity into your contact feed. Click **Configure**.
  </Step>

  <Step title="Turn Enabled on">
    The first card is titled **Site Tracker**. Switch **Enabled** on. When it is off, ShopWrk does not record visits from your site.
  </Step>

  <Step title="Leave Attach to contact activity on">
    Keep **Attach to contact activity** on unless you have a reason not to. That switch is what writes visits onto the contact after a form submit. Visits can still be recorded with it off. They just never appear on the person.
  </Step>

  <Step title="Save">
    The header **Save** button lights up and **Unsaved changes** appears next to it. Click **Save**. You should see **Settings saved**.
  </Step>
</Steps>

## Register your website

Still on **Settings → Integrations → Site Tracker**, open the **Registered domains** card.

Type your live site, one address per line, starting with `https://`. If you add `https://acmetint.com`, the `www` version counts too. A separate booking address like `https://book.acmetint.com` still needs its own line.

The placeholder in the box is:

```txt theme={null}
https://acmetint.com
https://book.acmetint.com
```

Do not type a bare name like `acmetint.com`. ShopWrk will reject it and ask you to enter a full address like `https://yourshop.com`. You can add up to 20 lines. Visits from any site you did not list are dropped.

Click **Save** again after you add domains.

## Paste it on your site

Open the **Install snippet** card. That is where the script lives. Copy the whole block from that card. Do not type it by hand, and do not copy only part of it.

Paste it in the header of every page you care about, including the page that holds your ShopWrk form. WordPress, Shopify, and Wix each have a theme header or a custom-code box for that. I am not going to invent those menus here because they move around. If you did not build the site, send the copied script to the person who did and tell them: every page, in the site header.

<Tip>
  After you paste, come back to ShopWrk and click **Send test event** on the **Test** card. You need a registered domain first or you will get **Add a registered domain before sending a test event**. A successful test toast tells you to check the last-event indicator. The first card description then includes **Last event** plus a relative time. That test is thrown away on purpose so it cannot attach to a real contact.
</Tip>

## Put a ShopWrk form on the same site

Visits attach to a person only when they submit an embedded ShopWrk form on a registered domain. A form you built yourself in WordPress or Shopify will not do it. The public booking page will not do it either.

<Steps>
  <Step title="Open Forms">
    Go to **Marketing → Forms**. Click **New form** if you do not have one yet.
  </Step>

  <Step title="Publish, then Share">
    On a published form the header button says **Share**. On a draft it says **Publish**. After it is live, click **Share**.
  </Step>

  <Step title="Embed it on your site">
    The dialog is titled **Share** plus the form name. Use **Iframe** (a pasted HTML block) if your site accepts that, or **Embed URL** if the builder asks for a URL. Paste that on the same website as the Site Tracker script.
  </Step>
</Steps>

The form and the script have to sit on the same registered site. That is how ShopWrk knows the visitor who submitted the form is the visitor who looked at PPF.

## What you see on the contact

After they submit the form, open **Contacts** and click that person. This is the same CRM profile as jobs, vehicles, and deals. Visits land in the existing activity feed. There is no new Site Tracker tab.

You will see a **Website visit** row. Close-together page views collapse into one row. A gap longer than 30 minutes starts a new visit. The description looks like `Visited /pricing` or `3 pages: /, /pricing, /contact`. Those are the page addresses from your site.

ShopWrk attaches up to the last 50 visits from the past 30 days, using the original times, not the moment they submitted.

<Note>
  Anonymous traffic never becomes a contact on its own. No form submit, no name on a visit.
</Note>

## If the script leaks

The **Install snippet** card also shows **Tracking token** and a **Rotate token** button. The tracking token is the secret code inside the script that ties visits to your shop.

Click **Rotate token** only if that code leaked onto a site that is not yours, or you are replacing the install. A confirm dialog asks **Rotate tracking token?** and warns that the live script stops sending visits until you paste the new copy. Confirm with **Rotate token**. Then copy the new script and replace the old one on your website. A success toast tells you to update your snippet.

## Privacy

The **Privacy** card on the Site Tracker page has the full wording. Short version:

* ShopWrk does not set cookies.
* A visitor still gets remembered in their browser. Some privacy laws treat that as storage. The card names UK PECR. Get consent where you are required to before you paste the script.
* Raw visit records are deleted after 90 days. Activity already written onto a contact stays.
* If the token was pasted on the wrong site, rotate it.

## If nothing shows up

<AccordionGroup>
  <Accordion title="The Site Tracker page is an upgrade screen">
    You are not on Autopilot. Go to **Settings → Billing** and change plan. Site Tracker does not quietly keep working on Essential or Pro.
  </Accordion>

  <Accordion title="Send test event fails">
    Add a registered domain with `https://` and click **Save** first. **Enabled** must be on.
  </Accordion>

  <Accordion title="Tests work, form submits do not show visits">
    The form has to be a ShopWrk form embedded on a registered domain, on a page that also has the script. **Attach to contact activity** must be on. Forms you built in WordPress or Shopify, and the booking page, are not wired up.
  </Accordion>

  <Accordion title="It worked last week and then stopped">
    Someone may have clicked **Rotate token** and not updated the site. Paste the current script from **Install snippet**. Also check **Enabled** is still on and the live domain is still in **Registered domains**.
  </Accordion>
</AccordionGroup>
