A SiteLine goal is a rule, not a pixel. You name it, pick a match type, save it. SiteLine counts distinct cookieless visitors in the selected date range who already satisfied that rule. Nothing new is posted to collect. Quota does not move when you click Add goal.
If the thank-you page is not tracked, or the custom event name is wrong, the goal stays at zero. The dashboard cannot compensate for a missing install.
Match types and funnel notes: goals & funnels. Event names: custom events.
The three match types
- Exact path — pageview
pathequals the value. Use/thanks, not the full URL./thanks/is different from/thanksif your app actually emits the trailing slash. Query strings are not inpath. - Path contains — pageview path includes the substring. Useful for
/checkout/plus locale prefixes. Dangerous for short strings (/a,account). - Event name — custom event
nameequals the value. Pageviews do not qualify. The string must match what you passed totrack().
Conversion rate = unique visitors who matched ÷ unique visitors in the range (after the plan's visibility gate). Visitors are the daily hash, so a week of returning readers inflates the denominator. Same-day conversions still read reasonably. Multi-day "came back and bought" undercounts because identity rotates at the day boundary.
1. Make sure the underlying hit exists
Install or React. Open Live. For a path goal, visit that path as a human. For an event goal, fire track('signup_completed') once and confirm it on the Events breakdown.
Hostname allowlist still applies. A goal on /thanks does nothing if /thanks is served from a host you never allowlisted.
2. Open Goals
Analytics header → Goals. Date range is in the header. The empty state is "No goals yet. Create one above." That is the whole UI: a create form, then a table of name, match, conversions, rate, and delete.
There is no separate "goal pixel" snippet and no goal-id you embed in HTML.
3. Fill Create goal
- Name — human label (
Signup complete). This is not the match value. - Match type — one of the three types above (the select is labeled with those options).
- Match value —
/thanksorsignup_completed. Mono field. No regex. No "equals this OR that" in one goal. Two URLs means two goals. - Add goal.
Examples that stay stable:
- Exact path
/thanksafter a form that redirects there. - Exact path
/signup/successif that is a real route. - Event name
signup_completedif the app is a SPA that never changes path. - Path contains
/checkout/successonly if every success URL actually contains that substring and nothing accidental does.
Do not goal on /. You will measure "visited the site."
4. Read conversions and rate
The table columns are conversions (unique matching visitors) and rate. Both honor the selected range and the soft cap. After you hit the plan entitlement, SiteLine still ingests; post-cap events stay hidden until you upgrade. Goal numbers follow that gate. Billing.
If conversions are zero:
- Match value typo (
/thank-youvs/thanks). - Event name case (
Signup_Completedvssignup_completed). - Path goal pointed at a custom event, or event goal pointed at a path.
- Range is a day with no traffic.
- You are looking at a different analytics site than the one you installed.
If rate looks tiny, check the denominator: all visitors on the site, not visitors who saw /pricing. A sitewide goal on a thank-you path will always look small next to homepage traffic. That is correct. Use a funnel when you want /pricing → /thanks as a sequence.
5. Prefer one primary conversion
Agencies love twelve goals. You will stare at noise. One primary (paid, signup, lead) plus maybe one secondary. Funnels take the sequence. Goals take the finish line.
Deleting a goal does not delete events. You can recreate it. There is no goal history independent of the events already stored.
Do not add track('goal') in application code to "make goals work." If you need a custom event, name the product action. Then point a goal at that name.
Funnels vs goals
Funnels: ordered steps, same match types, visitor counts per step as a percentage of step 1. Minimum two steps. Also derived, also free of extra quota.
Use a goal when you need a single conversion rate. Use a funnel when you need to see the drop. You can have both on the same thank-you event.
FAQ
Do I redeploy when I add a goal?
No, if the pageview or custom event is already being sent. You only change code when the path or event name does not exist yet.
Can one goal match several event names?
No. One match value. Create another goal for the other name, or standardize on a single signup_completed.
Why does conversion rate change when I extend the date range?
More visitors in the denominator, daily identity rotation, and whichever days sit behind the visibility watermark. Rate is computed for the selected range, not stored as a lifetime counter on the goal.