Collecting data with Trackers and Webhooks

  1. Home
  2. Docs
  3. Collecting data with Trackers and Webhooks
  4. Trackers – collecting data from your own applications
  5. Java Tracker
  6. What do Java tracker events look like?

What do Java tracker events look like?

See Tracking events to learn how to track events with the Java tracker.

All Snowplow events, regardless of the tracker used, look similar. They all currently contain 137 columns/properties. Some are populated by pipeline enrichments, e.g. the campaign attribution enrichment populates the mkt_ columns. Snowplow event structure and columns are explained here.

This reference page shows two simple example events generated using the default tracker configuration and a Snowplow Micro testing pipeline. These events were tracked from a simplified version of the "simple-console" demo provided in the Java tracker Github repository. While most Snowplow pipelines transform events into table rows, Micro pipelines produce JSON. There are no pipeline enrichments in Micro.

The JSON below is part of the "event" value for a ScreenView event, which is a type of Unstructured (self-describing) event. The full Micro JSON output includes other data, such as headers. Any columns with null values have also been removed.

// This event was tracked ScreenView screenView = ScreenView.builder() .name("login") .id("auth123") .build();
Code language: Java (java)
"ScreenView event (edited)": { "app_id": "java-tracker-sample-console-app", "platform": "srv", "etl_tstamp": "2022-03-22T15:49:56.999Z", "collector_tstamp": "2022-03-22T15:49:56.957Z", "dvce_created_tstamp": "2022-03-22T15:49:56.734Z", "event": "unstruct", "event_id": "f9a58d5d-cd13-4bfe-b9b2-5136ce1cb9fa", "name_tracker": "demo", "v_tracker": "java-0.12.0", "v_collector": "ssc-2.3.0-stdout$", "v_etl": "snowplow-micro-1.1.2-common-2.0.1", "user_ipaddress": "manually removed for privacy", "network_userid": "666219d1-9b9c-4fe1-b694-c8e94dd5a706", "unstruct_event": { "schema": "iglu:com.snowplowanalytics.snowplow/unstruct_event/jsonschema/1-0-0", "data": { "schema": "iglu:com.snowplowanalytics.snowplow/screen_view/jsonschema/1-0-0", "data": { "id": "auth123", "name": "login" } } }, "useragent": "okhttp/4.2.2", "dvce_sent_tstamp": "2022-03-22T15:49:56.757Z", "derived_tstamp": "2022-03-22T15:49:56.934Z", "event_vendor": "com.snowplowanalytics.snowplow", "event_name": "screen_view", "event_format": "jsonschema", "event_version": "1-0-0", }
Code language: JSON / JSON with Comments (json)

Most of these properties are the default Java tracker properties, which will be present in all Java tracker events. For example, app_id,platform, and name_tracker were set at Tracker initialization.

Since this is a Unstructured event, the "unstruct_event" field is also populated. The self-describing JSON provided as part of the Unstructured/ScreenView event has been validated against the Iglu schema registry.

Below is an example PageView event using the default tracker configuration with Snowplow Micro. Again, the null columns and other sections of the payload have been removed.

// This event was tracked PageView pageViewEvent = PageView.builder() .pageUrl("https://www.snowplowanalytics.com") .build();
Code language: Java (java)
"PageView event (edited)": { "app_id": "java-tracker-sample-console-app", "platform": "srv", "etl_tstamp": "2022-03-22T17:02:44.394Z", "collector_tstamp": "2022-03-22T17:02:44.268Z", "dvce_created_tstamp": "2022-03-22T17:02:43.913Z", "event": "page_view", "event_id": "64ae291c-2170-4643-a957-0b2f766c8ac8", "name_tracker": "demo", "v_tracker": "java-0.12.0", "v_collector": "ssc-2.3.0-stdout$", "v_etl": "snowplow-micro-1.1.2-common-2.0.1", "user_ipaddress": "manually removed for privacy", "network_userid": "bbf5eda0-f3f7-48b9-9068-b12e721a7b9c", "page_url": "https://www.snowplowanalytics.com", "page_urlscheme": "https", "page_urlhost": "www.snowplowanalytics.com", "page_urlport": 443, "useragent": "okhttp/4.2.2", "dvce_sent_tstamp": "2022-03-22T17:02:43.926Z", "derived_tstamp": "2022-03-22T17:02:44.255Z", "event_vendor": "com.snowplowanalytics.snowplow", "event_name": "page_view", "event_format": "jsonschema", "event_version": "1-0-0", }
Code language: JSON / JSON with Comments (json)

Because PageView is a "primitive" event type, the provided URL has populated the "atomic" page_url column. The different parts of the URL – scheme and host – have been automatically extracted and added to their own columns.

If you’d like to learn more about Snowplow BDP you can book a demo with our team, or if you’d prefer, you can try Snowplow technology for yourself quickly and easily.