# How to segment feedback by plan, country or device

> To segment feedback, pass traits such as plan with identify, export the inbox as CSV, then pivot bug counts and average ratings by plan, country or browser. Compare the groups side by side to see which customers are hurting before you decide what to fix.

Source: https://escutaproduto.com/resources/segment-feedback-with-metadata
Last updated: 2026-10-11

## Which feedback fields can you segment on?

Every feedback item carries a few fields you can split on without any tagging. The CSV export has these columns: created_at, kind, status, rating, message, email, page_url, country, user_agent and metadata. Kind (bug, idea, praise or other), status and rating come from the form. The server adds the country. The widget saves the user agent automatically, so you can tell browsers and devices apart.

The metadata column is the one that makes segmentation useful. It holds whatever you passed to identify or setMetadata, such as the customer's plan, role or company size. Escuta Produto has no tags, so metadata and a spreadsheet are how you slice the data.

## How do you attach a plan to each feedback item?

Call identify when a customer signs in and pass the traits you want to segment by. Email and name fill the form fields. Every other key is stored as metadata.

Use the queue form so the call works even before the widget script finishes loading:

```js
window.EscutaProduto = window.EscutaProduto || { q: [] };
(window.EscutaProduto.q ||= []).push(["identify", [{ id: user.id, name: user.name, email: user.email, plan: user.plan, role: user.role }]]);
```

Keep the list of traits short. Three to five values that you will really pivot on are enough. A trait you never filter by only makes the export harder to read. Do not put secrets or payment details in metadata, because it is stored with each feedback item and exported with it.

## How do you export and clean the CSV?

1. Open the product in the dashboard and go to its inbox. Apply the filters you need, or export everything.
2. Download the CSV. It is UTF-8, so Excel and Google Sheets show accented Portuguese text correctly.
3. Add a helper column for each segment. The metadata column is text, so pull out the value with a formula. In Google Sheets, for metadata that looks like {"plan":"team"}, use `=IFERROR(REGEXEXTRACT(J2,"plan"":""([a-z]+)"),"none")`, where J is the metadata column.
4. Add a device helper from the user agent. A rough check is `=IF(ISNUMBER(SEARCH("Mobile",I2)),"mobile","desktop")`, where I is the user agent column.
5. Freeze the header row and turn the range into a table, so next week's export can be pasted underneath without breaking the formulas.

In Excel, REGEXEXTRACT does not exist. Use Power Query to split the metadata text, or filter the metadata column with Text Contains for each plan value.

## Which pivot tables show who is hurting?

Build a few pivots from the same data. Each one answers one question about one segment.

| Pivot | Rows | Values | What it reveals |
| --- | --- | --- | --- |
| Bugs by plan | plan | count where kind is bug | Which customer group reports the most breakage |
| Ratings by country | country | average rating | Where satisfaction is lowest |
| Bugs by device | device | count where kind is bug | Whether one browser or phone is the problem |
| Status by plan | plan | count by status | Whether one group's items sit in new |

Without a pivot table, the same count is a formula such as `=COUNTIFS(K:K,"team",B:B,"bug")`, where K is the plan helper and B is the kind column. Copy it down for each segment value.

## What does a segment comparison look like?

For example, suppose one month brings 40 feedback items. The solo plan sends 22 items, and 3 of them are bugs. The team plan sends 18 items, and 9 of them are bugs. By volume, solo looks like the bigger group. By bugs, the team plan is in far more trouble: half of its items are bugs, compared with about one in seven for solo.

That is the pattern to act on. Filter the team segment, read its bug messages, and look for a shared page_url. If nine bugs point at three pages, you have a small list of places to test first. The same method, applied to country, can show that one market reports slow checkout while the rest of the base is quiet.

Read the averages with the same care. For example, an average rating of 2.4 across 5 items from one country is a sample too small to act on alone. Read those five messages before you change anything.

## How do you avoid slicing the data too thin?

Small groups mislead. A segment with three items can swing on one angry message. Set a minimum before you read a pattern, such as five items. Below that, read the messages themselves rather than the averages.

Segment for a decision, not out of curiosity. Each cut should map to a question you need answered. Who should you reply to first? Which browser should the next test pass cover? Which plan's onboarding needs a closer look? If a pivot does not change a decision, drop it.

## Setting up the segment fields in Escuta Produto

1. Choose three to five traits, such as plan, role and company size, and agree on their names with your team.
2. Add identify to your app when the customer signs in. The [widget docs](/docs/widget) show the script and the JavaScript API. For Next.js apps, the [Next.js guide](/docs/nextjs) covers loading the script once for every page.
3. Export the CSV once a week and run the pivots during your review. The [spreadsheet analysis guide](/resources/analyze-feedback-spreadsheet) covers the basic formulas, and the [weekly review template](/resources/weekly-feedback-review-template) shows where the pivots fit in the meeting.
4. Use internal notes for anything the metadata cannot explain, such as a known outage on one day.
5. Read the [bug frequency and severity guide](/resources/prioritize-bugs-frequency-severity) before you rank segment findings, so a loud group does not outrank a severe bug.

## Frequently asked questions

### What is the best way to segment customer feedback?

Attach a few stable traits, such as plan, role or company size, when customers identify themselves. Export the feedback as CSV, add helper columns that pull those traits out of metadata, then compare bug counts and average ratings across each segment before you decide.

### Can Escuta Produto filter feedback by plan?

The inbox filters by status, type and text search. For plan-level or country-level segments, export the CSV and split the metadata column in a spreadsheet, then pivot the results by segment.

### How many feedback items do you need before segmenting?

There is no fixed number, but avoid reading patterns in groups smaller than about five items. With fewer, read the messages themselves, because one unusually angry message can move an average rating a lot.

### Should customer traits such as plan go into metadata?

Only the traits you need for analysis. Metadata is stored with each feedback item and appears in the CSV export, so keep it minimal and never put passwords, payment details or other sensitive personal data in it.
