[
Definition.new(
name: "traffic_acquisition",
kind: "standard",
dimensions: %w[sessionDefaultChannelGroup sessionSource sessionMedium],
metrics: %w[sessions totalUsers keyEvents],
date_ranges: STANDARD_DATE_RANGE,
order_bys: [{ "metric" => "sessions", "desc" => true }],
limit: 250
),
Definition.new(
name: "landing_pages",
kind: "standard",
dimensions: %w[landingPagePlusQueryString],
metrics: %w[sessions totalUsers keyEvents],
date_ranges: STANDARD_DATE_RANGE,
order_bys: [{ "metric" => "sessions", "desc" => true }],
limit: 500
),
Definition.new(
name: "calculator_completions",
kind: "standard",
dimensions: ["eventName", CALCULATOR],
metrics: %w[eventCount totalUsers],
date_ranges: STANDARD_DATE_RANGE,
dimension_filter: EVENT_FILTER.call("calculation_completed"),
order_bys: [{ "metric" => "eventCount", "desc" => true }],
limit: 500
),
Definition.new(
name: "shares_and_prints",
kind: "standard",
dimensions: ["eventName", CALCULATOR],
metrics: %w[eventCount totalUsers],
date_ranges: STANDARD_DATE_RANGE,
dimension_filter: EVENT_FILTER.call("^(result_shared|result_printed)$", "full_regexp"),
order_bys: [{ "metric" => "eventCount", "desc" => true }],
limit: 500
),
Definition.new(
name: "related_calculator_navigation",
kind: "standard",
dimensions: ["eventName", CALCULATOR, "customEvent:related_calculator_slug"],
metrics: %w[eventCount totalUsers],
date_ranges: STANDARD_DATE_RANGE,
dimension_filter: EVENT_FILTER.call("related_calculator_clicked"),
order_bys: [{ "metric" => "eventCount", "desc" => true }],
limit: 500
),
Definition.new(
name: "commercial_outbound_clicks",
kind: "standard",
dimensions: ["eventName", CALCULATOR, "customEvent:outbound_destination"],
metrics: %w[eventCount totalUsers],
date_ranges: STANDARD_DATE_RANGE,
dimension_filter: EVENT_FILTER.call("commercial_outbound_clicked"),
order_bys: [{ "metric" => "eventCount", "desc" => true }],
limit: 500
),
Definition.new(
name: "realtime_events",
kind: "realtime",
dimensions: %w[eventName],
metrics: %w[eventCount],
order_bys: [{ "metric" => "eventCount", "desc" => true }],
limit: 100
)
].to_h { |definition| [definition.name, definition] }.freeze