What you will learn #
This chapter explains how to slice your audience and build your own reports with Hitsteps. After reading it you can create a Segments rule that groups visitors who meet the conditions you define, follow a Segment's matches over time and set alerts, collect custom values from your visitors (custom dimensions), build and save focused analytics reports, add notes to charts (annotations), and use URL rules consistently in Segments, Goals and Funnels. It is for a signed-in Hitsteps account owner or user who already tracks a website and wants to answer questions like "how many mobile visitors arrived from a campaign and searched for a product?" without exporting raw logs.
Before you begin #
- A signed-in Hitsteps account with at least one website added and the Hitsteps tracking code installed and collecting data. No tracking, no matches, no report data. Installing the tracker is covered in the getting-started chapter (
/guide/getting-started/). - Role: account owner or, for Segments and Reports, an authorized user of the account. Custom dimensions can only be changed by an account owner or administrator; other users can view them .
- Plan: Segments are limited by plan quotas (the number of Segments allowed, and how far back rebuilt Segment history can go). The Segments page shows "Plan usage: N of M". Check your plan's limits on the dashboard under your account License tab, or at the public pricing list
/features.php#price. Where a limit is reached, Hitsteps explains on the page and offers the normal upgrade link . - Plan-gated or per-site features in this chapter are labelled explicitly. Custom dimensions and the Reports workspace are made available per site (see block 8). If a menu described here is missing from your sidebar, that feature is not enabled for your site yet; contact support rather than assuming it does not exist.
- Data: Segments count over the selected date range in the site's saved time zone; Reports use the site dashboard date selector.
Step by step #
4.1 Create and use a Segment
- Open Segments & Triggers → Segments & Triggers and choose Add New (
/stats/<your-site-id>/labels/new/). On a site with no Segments yet the page shows "Create your first Segment" with the same editor below. - Step 1, Name and color. Pick a color (the color picker next to the name) and type a name up to 50 characters. The color is the Segment's identity in lists, charts and the sidebar.
- Step 2, Who matches. Every rule uses AND logic: a visitor joins the Segment only when they meet every rule you add .
- Click + (Add a rule), choose a Field type, then a value, and click Add filter. Available fields come from the signals collected for your website . Common groups: visitor profile (Visitor name, Registered visitor, Country, City, Region, Browser, Browser version, OS, Device, Language, Screen width/height, Java, Flash, CPU / platform, Organization / ISP, Visitor type, Web3, Crypto wallet), first-touch sources (First referrer, First URL visited, First URL is exactly, First UTM source/medium/campaign/term/content, Has UTM attribution, Has ad attribution, Paid traffic, First ad platform/channel/…), visits (URL visited, URL is exactly, Page title visited, Referrer, Searched keyword, Internal searches, Visit state, Pageviews, Returning visitor, Return count, Returning visit count, Unique visitor, New online visitor, New session), and Action conditions (Action type, Action key/name, Action value, plus a combined Action rule as key/value pairs), and, where available for the site, Commerce and Custom dimensions conditions.
- For URL-style fields the rule follows the URL rule semantics in block 6.7 (a path such as
/faq, operators Contains / Is exactly, and a Preview this URL rule check against recorded activity). - You can add up to 50 separate Action key/value rules to one Segment . A Segment cannot be nested inside another Segment . - Use Test / Recent Visitors ("Preview matching visitors", the button labelled with the Recent Visitors icon) to preview which visitors currently match before saving . - Step 3, When someone matches. Set a desktop notification, an email address for email alerts, and/or a sound from the numbered list. Alerts fire only for new live matches; rebuilt history never sends alerts and never moves Funnels .
- Create. The button is disabled and the page explains why when the Segment limit is reached.
- After saving, the new Segment opens with its report: summary tiles, a "Matches over time" chart, Devices, Definition (your rules and alert settings), and the daily breakdown table. The example below shows what counts mean.
- From the list you can search, filter (All / With alerts / Building history / Needs attention / No matches), sort (Most matches / Most visitors / Latest match / Name / Newest), open View visitors, Edit, see Report sources, and delete. Editing rules resets the rebuilt history and starts a new rebuild; changing only the name, color or alerts keeps it .
How the page counts : - Live matching: every new visit is checked against the rules as it happens. Alerts, sounds and Funnel steps follow live matches only. - Rebuilt history: when rules can be rebuilt from retained visits, up to 30 days of history is filled in, less if the plan keeps less. Rebuilt matches never send alerts. - Use them everywhere: filter Recent Visitors by a Segment, compare Segments in reports, and use Segments as Funnel steps (see the actions-goals-funnels chapter).
4.2 Use Segments everywhere
- Recent Visitors: open Recent Visitors and filter by a saved Segment to see the matching visitors and their journeys.
- Funnels: add a saved Segment as a funnel step (the Funnel editor offers a "Create a page URL step" helper that previews a page rule and saves it as a Segment first; see block 4.5).
- Reports: in the report builder pick the Segment as the audience for the report (block 4.4).
4.3 Create and collect custom dimensions
- Open Custom dimensions in the sidebar (
/stats/<your-site-id>/dimensions/). - In the Create dimension panel fill in:
- Machine key: lowercase letters, numbers and underscores; must start with a letter (pattern
[a-z][a-z0-9_]{0,63}). This is the key your tracking code will send; it cannot change later . - Display name: the label shown in the product (up to 255 characters, changeable later). - Scope: Visitor or Action. Visitor means one value per visitor (their current profile value); Action means the value belongs to one tracked Action event . - Value type: Text, Number, Boolean or Date. Locked after creation. - Case-sensitive text: only applies to Text values . - Privacy: fixed at Standard in this interface . - Accept the privacy statement: "I will not send passwords, payment data, access tokens, or sensitive personal data, and I have a lawful basis to collect these values." The Create button is disabled until you tick it . - Click Create dimension. The page shows status chips: Feature (Enabled/Disabled), Collection (Active/Paused) and Storage (Ready/Unavailable). Collection paused means you can prepare definitions but new values are not accepted .
-
Add the tracking call inside your existing tracker snippet: - Visitor scope:
hitsteps.setDimension('customer_plan', 'pro');- Action scope:hitsteps.trackAction('purchase', 'pro', { plan: 'pro' }); -
Manage from the two lists, Active dimensions and Inactive dimensions (each card shows scope, value type, case-sensitivity, privacy and the example tracking call): - Display name can be edited and saved anytime. - Deactivate stops collecting new values; retained data is not deleted . - Re-enable resumes collection reusing the same id, machine key, settings and retained data . - There is no hard delete in this interface: "No hard delete: deactivated definitions and retained values remain subject to normal retention and site deletion." Total removal follows normal retention and site deletion.
- Active dimension quota: the page shows "Active: N of M"; at the limit the create and re-enable controls are disabled and the page suggests the upgrade path .
Semantics to remember : visitor dimensions use the value that was effective when each Action happened; later changes never rewrite earlier Actions. Multiple Action key/value filters in the same report remain correlated to the same visitor and the same Action event.
4.4 Build and save a report
- Open Reports in the sidebar (
/stats/<your-site-id>/reports/, shown when the site has the Reports workspace enabled). - Choose New report (or open the Library of saved reports). In the builder, pick what the report should answer from the report types, grouped as "Where visitors come from", "Traffic and pages", "Your visitors", "Actions and goals", "Store" and "Website health" . Each type asks one plain question, for example "Where do my visitors come from?" (Visitor sources) or "How is my traffic trending?" (Traffic overview).
- Set the question's details: - Segment: the audience. "All visitors" is the default; choose a saved Segment to report on that audience only. - Break down by (one or more dimensions, each selectable once): e.g. country, page, campaign, your custom dimensions, Action key/value. - Metrics: choose the numbers to show (one or more; the page explains the maximum and keeps at least one sortable metric). - Filters: add conditions (Equals, Does not equal, Contains, Does not contain, Has a value, Has no value, Greater than / less than ranges, Starts/Ends with on text fields), group them with Match all conditions or Match any condition, and correlate groups to the same Action event where the dataset requires it. - Comparison (where supported): compare with the previous period or previous year, or choose custom comparison dates. - Chart: choose a bar or pie chart and the chart metric, or keep the table.
- Run previews the selected date range without saving .
- Read the breakdown overview and the results table (same data). Columns are the breakdown values with the selected metrics; money metrics use the site's currency when reporting on store data.
- Save report (or Save as new report) to keep it. Saved reports appear in the Library and can be opened, renamed, duplicated, deleted, pinned to the dashboard ("Pin this report to your dashboard so it is one click away."), scheduled (daily or monthly, with the next run time shown), and exported (see block 4.6). Deleting a saved report removes the saved report, not the analytics data .
- To use the report from your own tools, the Reports page offers an API key flow that points to the public Reports API guide; see the api-and-connectors chapter.
Boundaries : focused reports never fire Segment alerts or configured live actions. Reports V2 and the dashboard-reports widget have a "not ready / Not ready" locked state when the workspace runtime is not available, and the page tells you why instead of pretending the data is missing.
4.5 Create a page URL step from a Funnel editor (URL rules in practice)
Inside a Funnel's step editor, the "Create a page URL step" helper :
-
Type a page condition (Equals or Contains) and a URL (a relative path such as
/faq). -
Click Preview this URL rule: Hitsteps checks recorded page traffic for the rule and reports matches ("N matches in M recorded pageviews, <start> to <end>"). The sample is limited to the latest 20,000 records, so it is not a full-period total .
-
Click Review as a new Segment to save it as a Segment in a new tab, then return and Refresh available Segments to add the saved Segment as the funnel step.
4.6 Export a report as CSV
- In the report builder, Export visible CSV downloads the rows currently shown.
- In Reports, the Exports area can run an async export ("Create CSV export"): each run adds a CSV to Exports for the dates you selected; no email is sent . Download from the list when processing finishes.
- Dashboard and other reports can also be exported from the report pages; see the reports-exports-scheduled chapter.
4.7 Use annotations
- Open Dashboard → Annotations (or click a day on a Segment's "Matches over time" chart, the chart hint says "Click a day to see or add annotations.").
- Choose a day and Annotate this day, write a Note, and decide whether it should Show on chart.
- Notes you add are marked "Added by you"; the account owner's notes are marked "Added by the account owner". Any note can be edited or deleted by someone with permission .
- Day charts can display "Visitors per day", "Pageviews per day" or "New visitors per day" . The Annotations workspace also supports a calendar feed of events per country group where enabled .
Worked example #
Example site: your-store.example, a small webshop that tracks hitsteps.setDimension('customer_plan', 'pro') for logged-in customers and hitsteps.trackAction('purchase', 'pro', { plan: 'pro' }) on checkout.
Task: create a Segment "Pro checkout starters" for visitors who (a) arrived from a "halloween" campaign and (b) performed the Action purchase with value pro (this is the arrangement a real test site would use).
- Segments & Triggers → Add New.
- Name "Pro checkout starters", pick a color.
- Rules:
- Add a rule First UTM campaign equals
halloween. - Add a rule Action keypurchase, valuepro(or Action key/name "purchase", Action value "pro"). These match the same visitor; step 2's hint says a visitor must meet every rule. - Preview: "Preview matching visitors" opens Recent Visitors with the same filters. You should see the demo visitors that arrived from the campaign and recorded the purchase action, and nothing else.
- Create. The Segment page then shows: count of Segments, Matches (with the "In the selected period" note), Most active segment, Alerts on; the "Matches over time" chart; and the daily table with Visitors (plus that day's share of site visitors), Matches (with up/down change), Desktop / Mobile / Tablet. If a demo visitor matches, the expected result is a matching row on the day(s) they were active and a visitor count ≥ 1. If nothing matches, see block 7.
Custom dimension example: define machine key customer_plan, display name "Customer plan", scope Visitor, type Text, case-sensitive off, accept privacy, Create. Card shows Active, scope Visitor, type Text, and the code hitsteps.setDimension("customer_plan", "example");. Then send the real value in the tracker. Later, in Reports, break a visitor or action report down by the Customer plan dimension to see counts per plan value.
Expected annotation result: after you add a note to a day, the annotation appears on the day and (if "Show on chart" is on) on the chart; edit/delete affects only that note.
Controls and metrics #
| Control / term | Meaning |
|---|---|
| Segment | A reusable set of visitor conditions joined with AND logic: a visitor must satisfy every condition. It stays ready for live matching, alerts and Funnel stages . |
| Match | A visitor-day (or visit) in the selected period that satisfies the Segment's rules; counts follow the selected dates . |
| Visitors | Distinct visitors in the period who match the Segment . |
| Last match / Lifetime matches | Time of the most recent match, and the lifetime count of all matches ever recorded for the Segment . |
| Rebuilt history | Analytical matches rebuilt from retained visits, up to the lesser of 30 days and plan history. Never sends alerts, never advances Funnels . |
| Plan usage: N of M | Number of Segments created versus the limit on your plan; at the limit the create button is disabled with an upgrade link . |
| Condition operators (legacy rule fields) | "Is equal to", "Contains", "Does not contain" . |
| URL rule operators | Equals, Not equals, Contains, Not contains; path rules are evaluated case-insensitively for Contains by default and support case-sensitive exact text . |
| Field type (searchable) | The attribute a rule checks: profile, source/attribution, visit, page, search, Action, Commerce and custom-dimension groups . |
| Custom dimension Machine key | Technical key sent by the tracker; lowercase letters, numbers, underscores, starts with a letter; immutable after creation . |
| Scope (Visitor / Action) | Whether the dimension stores one value per visitor or one value per Action event . |
| Value type (Text / Number / Boolean / Date) | What kind of value the dimension stores; immutable after creation; case-sensitivity only affects Text . |
| Privacy (Standard) | The fixed privacy class of the custom-dimension interface; protected values must never be sent . |
| Feature / Collection / Storage chips | Feature enabled per site, collection accepting values, storage schema ready . |
| Report dataset / report type | The question a report answers, e.g. Visitor sources, Traffic overview, Pages, Actions, Goals, Ecommerce . |
| Segment (report) | The audience restriction inside a report; "All visitors" is default . |
| Break down by | The dimension the report groups rows by; each can be selected once . |
| Metrics | The numbers the report shows; format depends on the metric (count, percent with trailing %, money with the site currency, ratio) . |
| Filters | Value conditions on fields; grouped with Match all / Match any . |
| Correlation / "same Action event" | When a filter group is correlated to the same Action event, its conditions must all be true for the same tracked event . |
| Run | Preview the report for the selected date range without saving . |
| Save report / Save as new report | Persist the definition to the Library; delete removes the saved report, not the data . |
| Export visible CSV | Download the rows currently visible in the builder . |
| Create CSV export | Queue an async file in the Exports list for the selected dates . |
| Comparison | Show the same metrics for the previous period, previous year or custom dates alongside . |
| Pin to dashboard | Add the saved report as a dashboard widget . |
| AI draft | An unsaved draft the AI writes; you review it and choose Run or Save yourself . |
| Annotation / Note | A text note attached to a calendar day, optionally shown on charts . |
Session persistence : Segments and their match history persist per site and are listed in the sidebar until deleted. Changing a Segment's rules resets its rebuilt history and starts a new rebuild; name, color and alert changes keep the history. Custom dimension definitions persist per site; deactivating keeps retained values, re-enabling reuses the same definition and data. Saved reports persist per site (owner or user scope inside the account) until deleted, renamed or duplicated; they do not delete the underlying analytics data.
Problems and fixes #
- "No data", a new Segment shows 0 matches. The tracker is not installed or not running on the tested pages, or no visitor in the selected date range met every rule. Fix: verify tracking is live (getting-started chapter), widen the date range, preview matching visitors in Recent Visitors, and loosen or correct the rules. Rule values are often case-sensitive depending on the field, so check the exact stored value in a visitor's profile first. .
- The Segment list is empty or the create button is disabled. You are at the plan limit ("Plan usage: N of M") or you are a user without manage permission. Fix: delete unneeded Segments (a Segment used by a Funnel cannot be deleted until it is removed from the Funnel) or upgrade via the shown link .
- History shows "Live matches only" or "Building history". Live matching works immediately; rebuilt history is either unsupported for the condition type or still being rebuilt in the background. Wait for "History ready"; rebuilt matches never send alerts .
- A Segment that used to match now matches nothing. Retention: rebuilt history only reaches back as far as the plan's retained days. Or the value changed: visitor dimensions use the value effective at the time of each Action, and later changes never rewrite earlier actions . Check the stored value in the visitor profile.
- Custom dimensions page says Collection is paused / Storage unavailable. Definitions can be prepared but new values are not accepted, or the service is unavailable. Wait and retry; if it persists, contact support .
- "The active dimension limit has been reached." Deactivate or re-enable unused dimensions; only keep active dimensions you actually collect .
- Reports page shows a locked "Not ready" state. The workspace is enabled but the reporting runtime is not ready, or the site is not enrolled. The page explains the reason; do not treat it as missing data. If it persists, contact support .
- URL rule preview shows "No matching URL examples." Check the path spelling, the condition, and the date coverage; recorded page URLs normalize http/https and www, so prefer a relative path such as
/faqover a full URL . - CSV export never finishes. Exports run in the background; one run adds one CSV to the Exports list. Check the Exports area for queue/failed states .
Access, privacy and limits #
- Segments data: rules and match history are stored per site. Deleting a Segment removes its match history and cannot be restored . Rebuilt history is capped at the lesser of 30 days and the plan's retained history .
- Custom dimensions: values are first-party analytics attributes. Only send values you are lawfully allowed to collect; the interface requires a privacy acknowledgment and the privacy class shown is Standard . There is no hard delete in this view; retained values follow normal retention and site deletion . It is your responsibility not to send passwords, payment data, access tokens, sensitive personal data or other prohibited values .
- Reports: saved definitions persist per site/account; deleting them does not delete analytics data . Reports and dashboard widgets are a per-site, gated workspace: the sidebar item, routing and save/run gates are controlled by site enrollment and plan entitlement, and a locked "Not ready" state is shown when the runtime is unavailable .
- Custom dimensions feature gate: the dimensions surface is enabled per site; a disabled site redirects to the dashboard so a missing menu is not a bug .
- Roles: Segments, annotations and custom-dimension definitions are manageable by the account owner; administrators and authorized users can view, and manage Segments where the account grants it; custom dimension changes are owner/administrator only .
- Plans: Segment count and history depth are plan-limited ("Plan usage: N of M"); chart annotations availability per specific plan tier is listed on the License tab and pricing page .
- Privacy: Segment conditions may reveal personal attributes only to people with access to the account; do not publish screenshots with real visitor data (policy; screenshots here use public pages with demo visuals).
Last checked #
Checked 8 November 2026 using product documentation and source, with public pages and safe sample screens where available. Account-specific access, provider controls and effective limits can differ; use the current message shown for your website. Examples are illustrative.