WebmeticDocs
Get startedDetectEnrichPersonalizeIntegrateManagePartnersDevelopers

Visit types

Visit types are the three rules Webmetic uses to classify companies as intensive, returning, or new.

A visit type describes how a company visited your website: intensive, returning, or new. For example, someone at a beverage producer reads your pricing page for two minutes, and Webmetic lists the company as intensive.

If it was the company's first visit to your website, it's also new. Webmetic computes the three types for you, and the API delivers them as feeds and as webhook events.

Rules

Visit typeFeedWebhook event
Intensive/intensive-visits: companies with at least one visit of 30 seconds or more in the periodcompany.intensive_visit: every visit of 30 seconds or more, once per visit
Returning/returning-visits: companies with two or more visits in the periodcompany.returned: every visit after the first, once per visit
New/new-visits: companies whose first visit falls in the periodcompany.identified: the first visit, once per company and website

A visit is a Session. Webmetic only evaluates the visits your account recorded on this website.

Visits that Webmetic doesn't match to a company have no visit type.

The three types are independent of each other. One visit can trigger two events, for example company.identified and company.intensive_visit.

Intensive

A visit is intensive when it lasts 30 seconds or more in total. Webmetic reads session_duration for this, and exactly 30 seconds counts.

The number of pages and the scroll depth don't matter. Neither does session_time, which is the average time per page view.

The company.intensive_visit event can arrive later than the other events of the same visit. Webmetic keeps checking the visit after it appears in the dashboard and reports it as soon as it reaches 30 seconds.

Returning

Returning companies follow two rules on purpose:

  • Feed: /returning-visits only counts visits in the period and leaves out visits before from_date.
  • Webhook: company.returned reports every visit of a company that has visited your website before, no matter when.

For example, a company visited your website ten times last year and once this week. It's missing from /returning-visits?from_date=-7 days, but the webhook reports the visit as company.returned.

New

A company is new on the first visit your account recorded on this website. Visits recorded by other Webmetic accounts don't count.

The /new-visits feed returns a company when this first visit falls in the period. If it was before from_date, the company is missing, even if it has visited your website often since.

For the same visit, company.identified and company.returned exclude each other.

A new webhook only reports visits from the moment you create it. It reports companies that visited before as company.returned. To get earlier new companies, query /new-visits.

Period and response

The three feeds take domain, from_date, and to_date. If you don't pass a period, they cover the last 30 days up to now.

  • Period: It starts at from_date and ends right before to_date. A date without a time includes the whole day when used as to_date. For details, see Date ranges and time zones.
  • No pages: The response contains every row at once in result. Because the feeds have no page or page_size, choose a shorter period for large results.
  • Order: The feeds return the rows in no fixed order.
  • One row per company: Each company appears at most once per feed, but it can appear in several feeds.
  • All fields: Every row has the same fields, and only hidden companies also get blurred. Anything Webmetic doesn't know is null, or an empty list for directors and nace_codes.
  • Key: You need the Visitor Intelligence key. If domain isn't one of your account's websites, the API answers with API_KEY_NOT_AUTHORIZED, as described under Errors.
  • Limits: The limit is one request per second per endpoint, as described under Rate limits. The feeds and the webhooks don't cost credits.

Shape of a row

Each row is a company with the fields of Company. The feeds leave out organization_type, primary_color, secondary_color, wz2025_codes, and the texts what_they_do_*, how_they_make_money_*, and target_audience_*. These fields are added:

FieldTypeExampleDescription
sessionsarrayThe visits that match the rule, as Session with the page views in user_data, sorted by time, oldest first.
timestamp, weburl, utm_source, utm_medium, utm_campaign, utm_term, utm_content, utm_campaign_id, click_id, click_type, session_duration, session_time, visitor_city, visitor_country, visitor_zip, visitor_country_codeas in the session"2026-10-14T08:12:05.214000"Copies from the earliest session in sessions.
sessions_totalinteger1The number of sessions in sessions.
pages_totalinteger3The number of page views in these sessions.
blurredbooleantrueOnly for hidden companies on the Free plan, otherwise the field is missing.

Which visits are in sessions and count in sessions_total and pages_total depends on the feed:

  • /intensive-visits: only the intensive visits in the period.
  • /returning-visits and /new-visits: all of the company's visits in the period.

Example

The example shows a row from /intensive-visits in shortened form: most fields with null and some session fields are left out.

GET /intensive-visits
{
  "result": [
    {
      "company_id": "41ea486a9c95",
      "company_name": "Bergquell Mineralbrunnen GmbH",
      "city": "Freising",
      "country_code": "DE",
      "company_url": "www.bergquell.example",
      "linkedin": null,
      "employee_count": [201, 500],
      "lead_score": 88.0,
      "fit_score": 92,
      "relevance_score": 80.96,
      "sessions": [
        {
          "timestamp": "2026-10-14T08:12:05.214000",
          "session_id": "01M4WQFX6YM2X5V8T4N6R1C0DZ",
          "weburl": "https://your-website.com",
          "utm_source": "linkedin",
          "utm_medium": "social",
          "utm_campaign": "messe-2026",
          "session_duration": 309.0,
          "session_time": 103.0,
          "visitor_city": "Freising",
          "visitor_country_code": "DE",
          "user_data": [
            {
              "timestamp": "2026-10-14T08:12:05.214000",
              "document_location": "https://your-website.com/pricing",
              "time_spent": 95.0
            },
            {
              "timestamp": "2026-10-14T08:13:40.214000",
              "document_location": "https://your-website.com/bottling-lines",
              "time_spent": 150.0
            },
            {
              "timestamp": "2026-10-14T08:16:10.214000",
              "document_location": "https://your-website.com/contact",
              "time_spent": 64.0
            }
          ]
        }
      ],
      "timestamp": "2026-10-14T08:12:05.214000",
      "weburl": "https://your-website.com",
      "utm_source": "linkedin",
      "utm_medium": "social",
      "utm_campaign": "messe-2026",
      "utm_term": null,
      "session_duration": 309.0,
      "session_time": 103.0,
      "visitor_city": "Freising",
      "visitor_country_code": "DE",
      "sessions_total": 1,
      "pages_total": 3
    }
  ]
}

Edge cases

  • Free plan: Companies you can't see on the Free plan still appear in the feeds. Their row keeps company_id and has blurred: true and a placeholder in company_name. Every other field is null, including sessions_total and pages_total. In the sessions, only session_id and timestamp have a value. Every other session field is null, and user_data is empty.
  • Webhooks on the Free plan: Webhooks only report the companies you can see on the Free plan. Hidden companies trigger no event. For details, see Plans.

Used by

  • Feeds: /intensive-visits, /returning-visits, and /new-visits.
  • Webhooks: The webhook events are company.intensive_visit, company.returned, and company.identified. For details, see Webhooks. An event carries one company and a single visit, not a row like the feed. Under Menu > Integrations > Webhooks, they're called Engaged company, Returning company, and New company.
  • Dashboard: The notifications Engaged companies, Returning companies, and New companies use the feed rules.
  • AI assistant: The AI assistant also retrieves the visit types, with the tool get_visit_highlights.

On this page