Skip to content
ConsultEvo

How to Set Up Google Analytics 4 and Verify Your Tracking

To set up Google Analytics 4 (GA4), define what the website needs to measure, create a GA4 property and web data stream, deploy the stream’s Measurement ID through one supported method, and test both page coverage and business events. A lead-generation site, for example, might first confirm that important pages are collecting page views, then test a form-submission event and verify its name and parameters against the measurement plan.

A visit in Realtime is a useful delivery check, but it does not prove that event design, consent behavior, key events, attribution, or reporting are correct. GA4’s value depends on the site’s requirements and the quality of its implementation. Basic collection can be quick; defining ownership, consent behavior, reporting needs, and ongoing maintenance requires more planning. Google’s GA4 setup guide covers the product workflow, while this article adds practical release checks.

Is Google Analytics free, and is it the right fit?

Google’s terms describe a standard GA4 property as available without an Analytics 360 subscription fee. That does not mean every related product, integration, processing option, support arrangement, or service is free. Analytics 360 is a paid enterprise offering, and the reviewed official pages do not verify a universal current price or the often-repeated claim that it costs $150,000 per year above a particular traffic threshold. Confirm current terms through Google Marketing Platform sales or an authorized sales partner.

For an initial website measurement plan, assess the standard property first. Consider an enterprise conversation when documented requirements around data volume, governance, access, or support justify it. GA4 is a fit when a team can define measurement questions, maintain the implementation, and act on the findings. If the actual need is a simpler marketing or CRM reporting workflow, compare alternatives against that requirement instead of adding analytics complexity by default.

Understand the GA4 account, property, and data stream

GA4 uses a hierarchy in which an organization can contain accounts, an account contains properties, and a property receives data through data streams. A stream is the collection source for a website, iOS app, or Android app. An organization is optional for many smaller implementations.

  • Account: The level used to manage properties and account-level access.
  • Property: The reporting and administration container for collected data. Choose it around ownership and reporting boundaries, not simply the number of URLs.
  • Data stream: The collection source for a website or app. A web stream has a Measurement ID used by supported website implementations.

Google documents a limit of up to 2,000 properties per account, with the option to ask support to increase it. GA4 does not use Universal Analytics views as a normal hierarchy or permission level. Roles are assigned at the account or property level. Before creating a property, identify its owner, website or app scope, reporting time zone, currency, and required access.

Subproperties and roll-up properties are Analytics 360 features, not standard containers for a basic setup. A subproperty receives a subset of data from a source property. A roll-up property combines data from source properties and does not collect data directly. Both require additional eligibility and governance decisions, and 360 processing costs may apply. Review Google’s account and property structure documentation before designing an enterprise arrangement.

Choose an installation method before adding the tag

Select one supported deployment path and record who owns it. Do not install a CMS integration, direct Google tag, and Google Tag Manager deployment together without checking how they interact. Duplicate or unsupported combinations can affect collection.

  • CMS Measurement ID field: Use this when the CMS supports GA4 directly and the measurement needs are basic.
  • Direct Google tag: Use this when developers manage the shared site template. For direct page-code installation, Google instructs users to place the tag immediately after the opening <head> tag on every page that should be measured. A shared template can apply it across relevant pages.
  • Google Tag Manager: Consider this when the team needs to govern multiple tags, triggers, consent conditions, or custom event deployments. Follow a supported Google Tag Manager implementation rather than mixing deployment patterns casually.

For HubSpot-hosted content, HubSpot documents adding a GA4 Measurement ID through settings. Custom tracking code can also be added in supported header locations, depending on subscription and configuration. These are alternative paths. Choose one, confirm the domain and stream, and check for duplicate tracking. Teams reviewing a wider HubSpot systems setup can use the platform’s documented GA4 integration instructions as the implementation reference.

01Define the measurement jobThe analytics owner names the questions, pages, and business events to measure. Output: a short measurement plan and an event owner.
02Create the property and streamThe Analytics administrator configures the property and web stream. Output: the intended stream and its Measurement ID.
03Deploy one selected methodThe web implementation owner adds the ID or tag through the chosen CMS, site template, or tag manager and records where it is maintained.
04Verify and assign maintenanceThe analytics owner tests pages and business events. The privacy owner confirms consent behavior, and the implementation record keeps the results and named owners.

Create the GA4 property and web data stream

Before starting, make sure you have Google account access, the required Analytics permissions, the website URL, the reporting time zone and currency, and access to the CMS, site template, or tag manager. Interface labels can change, and available steps depend on permissions.

  1. Open Google Analytics and create or select the appropriate Analytics account.
  2. Create a property and set its reporting time zone and currency for the intended reporting context.
  3. Add a web data stream for the site and enter its URL and stream details.
  4. Review enhanced measurement. It can collect page views and other supported events, but it does not define business-specific leads, sales, lead quality, key events, or ecommerce details for you.
  5. Copy the web stream’s Measurement ID or Google tag details for the installation method you selected.

Keep a record of the property and stream identifiers, Measurement ID, deployment method, deployment location, consent behavior, and implementation owner. Before publishing the tag, compare the ID being installed with the intended web stream.

Verify collection before trusting reports

Open the site in a test session and check Realtime for incoming activity. Google notes that collection can take up to 30 minutes to begin. If nothing appears, use Google’s tag and data-collection troubleshooting guidance and confirm the stream ID, deployment, and page coverage. Then test the events that matter to the business. Automatic page views do not demonstrate that a lead or sale is recorded correctly.

Release gate: record pass or fail for each check
  • Stream identity: The installed Measurement ID matches the intended web stream. Owner: Analytics administrator.
  • Page coverage: Test every important page type, such as the home page, product or service page, form page, and confirmation page. Owner: web implementation lead.
  • Event quality: Trigger a test business event and confirm the intended event name and parameters. Owner: analytics owner.
  • Duplicate deployment: Check for repeated or conflicting tags from the CMS, template, or tag manager. Owner: web implementation lead.
  • Consent behavior: Test what happens when consent is granted and denied, and document the expected collection behavior. Owner: privacy or consent owner.

Consent settings can prevent a tag from running for visitors who have not consented. GA4 totals may therefore differ from server logs, CRM records, or other analytics systems. Treat that difference as a measurement condition to investigate. Keep event names, parameters, key events, consent configuration, and page-template changes under named ownership.

Use reports for questions, not as proof of data quality

GA4’s main navigation includes Home, Reports, Explore, Advertising, and Admin. What appears can vary with permissions, configuration, and product updates. Use Realtime to inspect incoming activity, standard Reports for routine questions, Explorations for deeper or ad hoc analysis, and Advertising for advertising-related analysis. Define the question and date range before interpreting a trend. For example, use acquisition reporting to investigate traffic sources, then check that the comparison covers the same dates and reporting context.

Explorations can support detailed analysis, but compatible dimensions and metrics, thresholds, sampling, retention settings, and quotas can affect what is available. A download to CSV or Sheets is a report export, not automatically a complete event-level dataset.

Choose the data product by the question

A standard report or Exploration gives report-style results. The Analytics Data API queries supported report data. BigQuery export supports raw event analysis where available and configured. These outputs have different grains, so choose the route based on whether you need a configured answer or event-level analysis.

Google documents report sharing and export to options such as Google Sheets, PDF, or CSV, as well as connections to Looker Studio. The Analytics Data API is for supported report queries. BigQuery export is the relevant path for raw event analysis where available. Keep report rows distinct from raw events and from period aggregates in any downstream system.

Optional: turn a validated report into an operational update

This is a proposed downstream workflow, not a native GA4 AI feature or a claim that a particular CRM connector is available. An authorized analyst can run a defined report through the Analytics Data API or review an export, validate its scope, and ask AI to draft a short summary. Deterministic checks should validate the property, dates, time zone, dimensions, metrics, filters, report definition, and source version before any summary is drafted. AI can describe supplied rows and flag questions; it should not invent missing metrics, infer causality, or approve a business action.

Keep the extraction run separate from the report rows it produced. A report row represents a combination of selected dimensions and metric values for a report scope. It is not an individual user event, CRM contact, or deal activity. The following is an illustrative record model, not a Google schema:

{
  "extraction_run": {
    "run_id": "property-123456789-report-a1-2026-10-13T160000Z",
    "property_id": "123456789",
    "source_method": "Analytics Data API",
    "extraction_timestamp": "2026-10-13T16:00:00Z",
    "reporting_timezone": "America/Los_Angeles",
    "date_range_start": "2026-10-01",
    "date_range_end": "2026-10-07",
    "dimensions": ["sessionDefaultChannelGroup"],
    "metrics": ["sessions", "keyEvents"],
    "report_definition_hash": "illustrative-config-a1",
    "validation_status": "passed"
  },
  "report_rows": [
    {
      "row_key": "property-123456789-run-property-123456789-report-a1-2026-10-13T160000Z-channel-illustrative",
      "run_id": "property-123456789-report-a1-2026-10-13T160000Z",
      "dimension_values": {
        "sessionDefaultChannelGroup": "Illustrative channel"
      },
      "metric_values": {
        "sessions": "Illustrative value",
        "keyEvents": "Illustrative value"
      }
    }
  ],
  "review_status": "draft pending analyst approval"
}

The proposed row key is scoped to the property, extraction run, and dimension value, so a later run or another report definition does not collide with this row. A production system should include every dimension in the key, store the report definition and source version, and enforce uniqueness with a database constraint or transactional upsert. A lookup followed by a separate create is not safe when concurrent jobs can run.

Preserve the property, extraction time, date range, time zone, report definition, and source method so an operator can reproduce or review the result. If approved records are written to CRM systems, use a destination key scoped to the property, report definition, date range, extraction run, and source version. Keep API credentials and personal data protected, send only the information required for the task, and require a human report owner to approve interpretation before a summary reaches a CRM or team brief.

Common GA4 setup questions

Does GA4 still have views?

No. GA4 does not use Universal Analytics views as a standard hierarchy or permission level. Use properties and data streams for the basic structure, and assign roles at the account or property level.

Why does Realtime show a visit but a standard report does not?

Realtime is an initial activity check, not a guarantee that the same activity will appear immediately in every report. Confirm the property and date range, then review filters, report configuration, event setup, and collection behavior.

Do I need to add the tag separately to every page?

Every page intended for measurement needs the tag, but a shared site template or supported CMS integration can apply it across relevant pages. Test each important page type and make sure a second deployment method has not added another copy.

What should I check first if tracking looks wrong?

Check the property and date range, then the stream and Measurement ID, page coverage, consent behavior, event configuration, and report availability. Assign tag or template issues to the web implementation owner and event-definition decisions to the analytics owner.

A GA4 setup is ready for routine use when the intended stream is collecting data across the required pages, test events have the expected structure, duplicate deployment has been checked, and consent behavior and ongoing ownership are recorded. Build reports only after those checks, then revisit the measurement plan when the site or business process changes.