Sign inGet Started

bird email stats

Usage

Code example
bird email stats

Description

Every series covers the workspace's own mail. Day and hour boundaries follow the timezone you pass and default to UTC, so a bare calendar day means a local day once it is set. inbound counts what the workspace received; everything else counts what it sent.

Procedure

Analyze email performance

Answer delivery, engagement, comparison, and latency questions using the workspace's recorded activity. Skip discovery when the requested dimensions and values are known. Use aggregate statistics before inspecting individual messages.

Requires: Establish the workspace, period, timezone, and population. State a reasonable assumption when the question permits one; ask when different interpretations materially change the answer. A campaign may be a tag or a broadcast, and a template can span campaigns. Resolve resource names to IDs using their list tools; current names are display labels, not evidence of historical attribution. Establish activity from period-scoped statistics, never resource creation dates. Use recorded category to separate marketing and transactional traffic; use a template or tag when the question names a narrower flow such as password resets.

Requires: Select compatible metrics, filters, and one grouping dimension. Read the group_by compatibility rules before querying; delivery-based rates are unavailable for engagement-only dimensions such as country or device. Do not submit a known unsupported combination to confirm the error; explain it and offer supported alternatives before changing the question. For a comparison, compute each period independently with the same filters and metric definitions. Query summaries separately when whole-population totals are needed; a ranked page is a subset. A name-only tag filter requires tag presence; an exclusion-only tag filter retains missing tags. Keep or remove that filter in a summary according to the requested overall population.

  1. bird email stats by-tag — Optional step: skip this tool entirely when the tag name and desired values are already supplied; call the query tool directly with filters.tag. Otherwise omit name to discover observed name:value pairs for the requested period and follow cursors as needed. This discovery does not apply the final report's combined filters. If the observed tags leave campaign membership ambiguous, clarify instead of substituting templates. Next: bird email stats query
  2. bird email stats query — Select metrics needed for the answer and its denominators; choose a grain only when a series is needed. Rank using whole-period metrics and show relevant counts alongside rates. Preserve the original request body while paging; reduce groups per page before changing a requested period or grain. Use returned period metrics. delivered and unique engagement metrics estimate distinct message recipients; opens, clicks, unsubscribes, and oob_bounces estimate events, not audience size. Bucket or group counts need not add up to the period total. Keep delivered separate from effective_delivered, which subtracts out-of-band bounces and supplies the open/click rate denominator. Never average rates or percentiles. Explain nulls, missing groups, and limited history without converting them to zero. A successful empty report is a result: keep its zero counts and null rates or latencies. Do not treat it as a failed query or automatically search other tags, broaden filters, or retry. Investigate missing activity when the user asks for it. data_as_of is null and does not establish freshness. Events belong to when they occurred; send-date cohort questions require other evidence. A breakdown can locate a change without proving its cause. Separate observations from hypotheses and state what would test a hypothesis. Opens and clicks cannot establish human-engagement counts or ranges, or business conversion. Clustered activity does not establish a send time or batch. Latency percentiles exclude missing samples; delivered is not their sample count. Describe percentiles for measured events without inferring the rest of the distribution. Do not derive maxima, exact threshold counts, or processing-stage delays from percentile arithmetic. Delivery latency ends at mail-server delivery; inbox placement, reading time, revenue, and conversion attribution require other evidence. Scope capability limits to this report; do not infer that the whole platform or every connected tool lacks a capability. An observed A/B ranking does not establish significance, causality, or a required sample size without the experiment design and analysis. Provider spam-rate thresholds require the provider's own population and denominator; do not apply them directly to this complaint_rate.

Commands

NameDescription
by-bounce-codeGet bounces by SMTP error code
by-broadcastGet statistics by broadcast
by-categoryGet statistics by category
by-clientGet engagement by email client
by-complaint-typeGet complaints by type
by-locationGet engagement by location
by-mailbox-providerGet statistics by mailbox provider
by-mailbox-provider-regionGet statistics by mailbox provider region
by-recipient-domainGet statistics by recipient domain
by-sending-domainGet statistics by sending domain
by-sending-ipGet statistics by sending IP
by-tagGet statistics by tag
by-templateGet statistics by template
dailyGet daily sending statistics
hourlyGet hourly sending statistics
inboundRead aggregate statistics for received email
queryQuery email delivery and engagement metrics
summaryGet aggregate email statistics

Continue with the documentation, guides and examples for this topic.