1. Define the outcome precisely

A button click is an interaction. A successful form delivery is an enquiry. A qualified enquiry is a business judgement. A paying customer is a commercial outcome. Treat them as distinct events.

Choose the definition with the team answering enquiries. For example: within the service area, requesting a service you provide and contactable with permission. Record why an enquiry was unsuitable without copying the full message into analytics.

StageDefinitionOwner
Form attemptVisitor submits valid fieldsWebsite
Enquiry deliveredBackend accepts and delivers or reliably queues the requestForm service
Qualified enquiryTeam confirms fit against agreed criteriaSales or operations
New customerThe agreed commercial milestone is reachedCRM or finance

2. Create a small event contract

Use a consistent event name, event ID, timestamp and page context. Define which system is authoritative for each event. A client-side “success” animation should not count as delivered if the backend failed.

Avoid sending names, email addresses, phone numbers or enquiry text to general analytics. Keep an internal enquiry identifier for joining operational records, with access controls and a documented retention policy. Analytics consent and deployment choices need review for the markets you serve.

{
  "event": "enquiry_delivered",
  "event_id": "unique-event-id",
  "occurred_at": "2026-09-23T10:00:00Z",
  "landing_path": "/services/interior-design/",
  "service": "interior-design",
  "source_group": "organic-search"
}

3. Make the revenue model explicit

Start with incremental visits, then apply enquiry and close rates. Multiply new customers by a consistent customer-value measure. If you use first-sale value, do not compare it with a forecast based on lifetime value without labelling the change.

Use gross contribution to compare against acquisition costs. Our estimator applies a user-entered gross margin to incremental revenue, subtracts campaign costs and divides by those costs to calculate return. It is a simple planning model, not an accounting statement.

extra visits = searches × (projected CTR - current CTR)
extra enquiries = extra visits × enquiry rate
extra customers = extra enquiries × close rate
extra revenue = extra customers × value per customer
extra contribution = extra revenue × gross margin
period cost = setup cost + monthly cost × months
net contribution = extra contribution × months - period cost
ROI = net contribution / period cost × 100

4. Keep assumptions beside the result

The model assumes the entered monthly performance is maintained throughout the chosen period. It does not model a ranking ramp, seasonality, churn, capacity limits, tax, working capital or repeat purchases.

Use your own measured data wherever possible. If a value is a guess, label it and test sensitivity. Do not call example defaults “industry benchmarks” unless you have a documented dataset with a date, sample and definition.

  • Separate branded demand from non-branded service discovery.
  • Avoid adding overlapping keyword volumes as if they were unique people.
  • Compare similar service mixes and acquisition sources.
  • Use a period long enough to reflect the sales cycle.
  • Record major operational changes that affect close rate or capacity.

5. Measure the experience alongside outcomes

Core Web Vitals cover loading, responsiveness and visual stability. The published good thresholds are LCP at or below 2.5 seconds, INP at or below 200 milliseconds and CLS at or below 0.1, evaluated at the 75th percentile. Field measurements matter because visitors use different devices and connections.

On a visual studio site, start with the hero media, font delivery and JavaScript required before interaction. Reserve image dimensions, avoid layout-shifting widgets and load secondary code when a visitor needs it. A PDF export library does not need to block the first page view.

  • Use a poster image while ambient video is unavailable.
  • Respect reduced-motion preferences and allow pausing.
  • Measure production pages on mobile as well as desktop.
  • Distinguish lab diagnostics from observed field performance.

6. Test the measurement, then use it

Run a controlled test enquiry through the agreed systems. Verify that one submission produces one delivery event, that a failed delivery produces none and that resubmitting after a retry does not duplicate the result.

Create a short review routine: compare the funnel, inspect where it changed, check data quality and choose the next action. A dashboard only earns its place when someone can make a better decision from it.

CheckExpected result
Invalid fieldsNo enquiry or delivery event
Backend timeoutHonest retry message, no false success
Duplicate requestOne operational enquiry and one delivery event
Successful handoffA traceable enquiry in the destination system
Analytics unavailableThe form still works
Data deletion requestThe documented operational process can find and remove the relevant records
Written by Pressine

Our studio combines design, software development and search. These guides document our approach and link to primary references where platform behaviour matters.

About our method