Skip to content

GA4 property

Log Hero does not write into the Google Analytics property you already run. During setup it creates a second GA4 property, in the same Google Analytics account, and sends every request from your server log there.

You recognise it in the account list by the Log Hero prefix in front of your existing property name.

The Google Analytics account list showing two properties for the same account: the original property, and below it the same name prefixed with Log Hero.

Both properties sit in the same Google Analytics account. The second one is the one Log Hero fills.

Crawler traffic is not human traffic. If Log Hero pushed a million Googlebot and GPTBot requests into your primary property, every number you rely on there — sessions, users, engagement rate, conversion rate, every audience and every comparison built on top of them — would move, and none of the movement would mean anything about your visitors.

So the bot data goes somewhere else entirely. The separate property exists to avoid any possibility of interfering with your existing data. Log Hero never writes to your primary property, and nothing in your existing reports changes when you switch Log Hero on.

To keep the two comparable, the new property is created as a copy of your existing one: the same timezone, currency, industry category and website URL, and a web data stream named after the one you already have. Day boundaries line up, so a date range means the same thing in both.

Object What it is
GA4 property Named after your existing property, with Log Hero in front
Web data stream Points at the same website URL as your existing stream
Measurement Protocol secret The credential Log Hero uses to send your log data in
10 custom dimensions The log fields, listed below
1 custom metric Page Load Time, in milliseconds

Requests arrive through the Measurement Protocol — server-side, no tag on your site, no JavaScript. That is what makes it possible to report on visitors who never execute JavaScript in the first place, which is exactly what a crawler is.

Every request Log Hero sends carries the fields from your log line as event parameters. The property registers each of them as an event-scoped custom dimension, so you can use them as dimensions, filters and secondary dimensions anywhere in GA4.

Dimension Event parameter What it holds
Bot IP bot_ip The IP address the request came from — the address bot verification is run against
Bot Name bot_name The crawler Log Hero resolved the request to: Googlebot, GPTBot, ClaudeBot and so on. Unresolved crawlers are grouped as Unknown bot
Is Bot is_bot Whether the request was classified as bot traffic at all
Method method The HTTP method: GET, HEAD, POST …
Official Bot official_bot Whether the claimed bot passed verification — that the IP really belongs to the operator it says it does
Protocol protocol The protocol the request used, for example HTTP/1.1 or HTTP/2
Spam Bot Type spam_bot_type Set when a request claims to be a known crawler but the IP does not back that up
Status Code status_code The status your server returned: 200, 301, 404, 500 …
Timestamp timestamp When the request hit your server
User Agent user_agent The raw, unparsed User-Agent string

Alongside them sits one custom metric, Page Load Time (page_load_time), recorded in milliseconds — how long your server took to serve that request.

You reach all of them the same way as any GA4 dimension: open the dimension picker in a report or exploration and look under Custom.

The Google Analytics dimension picker with the Custom category selected, listing Bot IP, Bot Name, Is Bot, Method, Official Bot, Protocol, Spam Bot Type, Status Code, Timestamp and User Agent.

The ten Log Hero dimensions, in the dimension picker under Custom.

Two things follow from these being event-scoped custom dimensions:

  • GA4 matches them by event parameter name, not by the label you see. You can rename the display name without breaking anything; the parameter names in the middle column are the ones that matter.
  • They start empty. A custom dimension only shows values for events recorded after it existed, so the first day or two can look sparse even when data is clearly arriving.

For what each field means in a report — and how the same fields drive the Log Hero reports themselves — see Metrics and the Bot catalogue.

Creating a property is an account-level operation in Google Analytics. Editor rights on your existing property are not enough: Log Hero needs edit permission at account level. You can check this in Google Analytics under Admin → Account access management.

If the account you pick is out of property slots, or you do not have edit rights on it, the wizard says so and offers you a different account — the Log Hero property does not have to live in the same account as your original property, though keeping them together is easiest.

Both start on Your domains.

If the domain is already in your account, use the Set up link on the Log Hero card in that domain’s row:

The Your domains list, with a domain row showing a Keyword Hero card and a Log Hero card carrying a Set up link.

If it is a new domain, use Add a domain, then choose Log Hero:

The Choose your product dialog with two cards, Keyword Hero and Log Hero, the Log Hero card carrying a Free badge.

Pick the Google Analytics account, property and data stream of the site whose logs you are about to send. This is your existing property — the one Log Hero copies its settings from, not the one it will write to.

The Choose the property Log Hero will mirror screen with three columns: Accounts, Properties and Data Streams.

The last screen is a summary of what is about to be created. The Change link next to Google Analytics account is where you move the new property to a different account if you need to.

The Create your Log Hero property screen listing New property, Google Analytics account, Website, Timezone and Currency, with a Change link on the account row.

Press Create Log Hero property and Log Hero does the rest: the property, the data stream, the Measurement Protocol secret, the ten custom dimensions and the custom metric, in one step. It also accepts Google’s user-data collection acknowledgement for the new property on your behalf.

From here you continue with the integration that actually ships the logs — see Choose your integration, or the Quickstart for the whole path end to end.

Once your integration is sending, the fastest way to see the requests in Google Analytics is Life cycle → Engagement → Pages and screens:

The Google Analytics left-hand navigation with Life cycle expanded, Engagement open, and Pages and screens highlighted.

That gives you your URLs with the hit counts behind them. Add Bot Name, Status Code or Official Bot as a secondary dimension and you have a crawl report: which crawler, on which URL, getting which answer.

A few practical notes:

  • Standard GA4 reports lag. New data can take up to 24 hours to appear in them. Realtime shows it much sooner, and it is the better place to look when you have just finished setup.
  • To confirm your integration works at all, don’t wait on GA4. The Log Hero dashboard is the quicker signal — see Verify your setup.
  • Explorations are where this data gets interesting. The custom dimensions are event-scoped, so they combine freely in a free-form exploration: Bot Name against Status Code, Official Bot against Bot IP, Page Load Time by URL.
  • Do not delete the property. Log Hero addresses it by property ID. Delete it and ingestion stops; it has to be set up again from scratch.
  • Do not delete the custom dimensions. Values still arrive, but GA4 has nowhere to put them, so they stop being reportable. Renaming their display names is fine.
  • Do not add a website tag to its data stream. The stream carries server log data only. Tagging your site into it would mix human page views in and defeat the point of the split.
  • It counts against your account’s property limit. Worth knowing if the same Google Analytics account is close to full.