Goals on your own site
Conversions on a page you own — a form, a checkout — recorded without a network in the middle, and a live view answering "is it working yet".
A postback reports a sale on somebody else's server. A goal is the other half: a lead form, a checkout, an add to cart, on a page you control.
A goal is a conversion with a name and no network behind it, so everything here lands in the same conversions table the rest of the product reads. It shows up in the same reports, with the same statuses, alongside network conversions.
#Two ways a goal fires
| Kind | Fires when |
|---|---|
| Event | Your page calls utmcap.goal('…') |
| Page match | The visitor reaches a path you name, such as /thank-you |
Page match needs no code, which is why it is there — but it records whatever reaching that URL means, including somebody who bookmarked it. An event is a line of JavaScript and is exact. On a checkout worth optimising, use the event.
#Firing one
utmcap.goal('lead');
With a value, a currency and an order id:
utmcap.goal('purchase', { value: 49.9, currency: 'USD', order: 'ORDER-1234' });
The Install view has this ready with your key and your goal names already in it. Take it from there rather than from this page.
#What a goal is worth
| Value | Records |
|---|---|
| None | The conversion, no revenue |
| Fixed | The same amount every time |
| From the order | Whatever the page passed in value |
Fixed suits a lead worth a known amount. From the order suits a basket, and is the only one that makes revenue reporting mean anything on a store.
#Counting the same thing twice
Two dedupe modes, and the right one depends on what you are counting:
- Per click — one conversion per visitor, however many times the goal fires. Right for a lead form somebody can submit twice.
- Per order — one per order id. Right for a checkout, where a genuine second purchase is a second conversion and a refreshed confirmation page is not.
Per order needs the page to pass order. Without it there is nothing to
deduplicate on.
#Approved or pending
A goal records as either, and it is a per-goal setting.
Record a goal as pending when it needs confirming later — a lead your sales team qualifies, an order that can be cancelled. It stays out of revenue until something approves it, exactly as a network conversion does.
Record as approved when reaching the page is the conversion.
#Is it working?
The Live events view shows what has arrived in the last hour, and — the part that matters — why anything was refused.
That question has no honest answer on most trackers except watching a number move on a dashboard tomorrow, and that is precisely the point at which people give up on an integration. Fire the goal on your own site, watch the row appear, and you are done. If it does not appear, the row that should have been there says what was wrong with it.
#What a goal cannot do
It cannot attribute a conversion to a click the tracker never issued. The visitor has to have arrived through UTMCAP — a tracking URL, parallel tracking, or a page carrying the tag that was recognised.
Someone who typed your URL directly, on a page with no tag, has no click id, and a goal firing for them has nothing to attach to. It is refused rather than recorded against nobody, and Live says so.