Analytics for your first real users
The first useful analytics question is “Did someone get the result?” A page-view count cannot answer it. Start with the task your project exists to perform, record the small number of events that describe that task, then verify them through an actual visit. Use the evidence to improve the experience rather than fill a dashboard.
What you’ll take away
- Measure successful outcomes after they happen.
- Verify event receipt before trusting a funnel.
- Separate launch testing, failed actions and real usage.
Name one decision you want the data to inform
For a fictional image-resizing tool, the question might be: “Do visitors get from selecting an image to downloading a resized file?” That leads to a clear sequence: tool_viewed, resize_started, resize_succeeded and download_clicked. A button click is not a successful resize. Place the success event after a real result exists.
You may also need resize_failed, with a small controlled error category such as unsupported_format or file_too_large. Avoid sending filenames, uploaded images, form contents or raw error messages. The event should describe the behavior, not copy the person’s work into an analytics service.
Scroll to see all columns →
| Event | Record when | Useful safe properties |
|---|---|---|
| tool_viewed | The tool page is shown | Public tool ID |
| resize_started | Valid input begins processing | Chosen size category |
| resize_succeeded | An output file is ready | Output format from a fixed list |
| download_clicked | The real download action is requested | Public tool ID |
| resize_failed | A known failure is shown | Bounded error category |
Choose a provider you will actually use
GA4 can measure events and acquisition; PostHog supports explicit events and product funnels. Either can be useful for a small project. Using both creates more work to keep definitions consistent, so do it for a reason. Define a shared event plan first rather than letting each integration invent a different meaning for completion.
Check current provider guidance for your framework. Configure only the capture you need. Automatic capture and session replay are separate choices, not prerequisites for understanding a three-step task. Minimize collected information, disclose your actual data practices and honor the privacy choices your product supports. If identifiers are necessary, design them deliberately instead of sending email addresses because they are convenient.
Prove that the event reaches the right project
Use a fresh browser session and perform one identifiable test sequence. Confirm you are viewing the right analytics property, hostname and time range. GA4’s Realtime or DebugView and PostHog’s received events can help confirm ingestion. A script loading successfully does not establish that your custom success event arrived.
Inspect event names and properties for duplicates or accidental private data. One completed resize should not create two success records because two listeners fired. A user cancelling a native share sheet should not count as a successful share. A failed form should not count as saved just because its submit button was clicked.
- Write down the exact UI sequence you will test.
- Perform it once on the production address.
- Find the received events in the intended provider project.
- Confirm order, names, safe properties and expected counts.
- Repeat a failure or cancellation path and check it is not recorded as success.
Build a funnel around a real task
Create an ordered funnel from tool_viewed to resize_started to resize_succeeded. Choose a conversion window that fits the task, such as the same short session or a specified day, and document it. Permit irrelevant intermediate actions unless your question requires a strict sequence. A funnel measures its defined sequence; it does not reveal every reason someone left.
Add a separate view for failures and break down by a small useful dimension such as device class. If mobile visitors start but do not finish, try the task on a phone before assuming the audience is wrong. If no successes exist yet, distinguish “no real attempts,” “attempts failed” and “tracking unverified.” Those lead to different actions.
Learn without pretending a tiny sample is a verdict
Your first few visits may be you, your agent, friends or a link-preview crawler. Mark test sessions using a supported filter or maintain a testing note; do not report them as organic demand. Review individual task attempts with voluntary user feedback before making broad claims about conversion rates.
Combine the dashboard with a few observations. A person may finish the action but find the result unhelpful. Another may leave because the page did not explain the input. Keep a decision log: what you changed, why and what outcome you expect. Recheck the event plan when the product changes so an old event name does not quietly acquire a new meaning.
Before you move on
- The main success event follows an actual successful result.
- A live test appears in the correct provider property.
- Failure and cancellation do not count as success.
- Event properties exclude private inputs and credentials.
- The funnel has a documented order and conversion window.
- Launch QA is separated from claims about real demand.
Sources
Official documentation and original sources used for this guide. Product features and availability can change; check the linked source before choosing a plan or publishing.
- Google Analytics events and verification support.google.com
- PostHog capture events posthog.com
- PostHog funnels posthog.com

