Before you start
- Anyone who can open the destination can view a running capture. Starting, stopping and downloading need edit access to the company, because they create or remove copies of personal data.
- Capture is for destinations that send to an outside platform. It is not available on Lens or Lapse destinations; the page says "Not available for this destination".
- One capture runs per destination at a time.
Start a capture
- Go to Echo > Destinations, open the destination, and click Payload Capture.
- Click Start Capture.
- Under Whose events, pick one: - Just my browser: records only events from a browser you tag with a test link. Use it to test a click and watch it arrive. - Everyone's traffic: records events from all visitors. Use it to investigate what real visitors send.
- Optional, with Just my browser: in Or match a client ID, enter the Echo client ID (the
cidfield on a request to Echo; on a GA4 destination, the Google Analytics client IDga4_cidalso works). Use this when you cannot add a query string to the page, for example in an app. - Optional: under Only capture events where, click Add Filter and set a field, an operator and a value. Up to 10 filters; all must match.
- Set Stop after (15 minutes, 30 minutes, 1 hour, 4 hours or 24 hours; default 30 minutes) and Or after this many events (1 to 5,000; default 500).
- GA4 destinations only: turn on Ask Google Analytics to check each captured event to also send each event to Google's validation service, which lists problems and records nothing. It adds one request per event.
- Tick the box confirming that the capture stores copies of the events it records, then click Start Capture.
The panel shows Getting ready for up to a minute. Wait for Listening before you test, or your first clicks may not be recorded.
Filters
Filters are checked against each event as it is sent to the platform, after your mappings, so use the names the platform receives, for example event_name or params.value. Events that are not sent are still recorded when they match, with the reason. Nothing is sampled. If you are not sure what to filter on, leave filters empty and filter the results on the page instead.
| Operator | Matches when the field |
|---|---|
| equals | Equals the value, ignoring case |
| contains | Contains the value, ignoring case |
| is one of | Equals any value in a list |
| is not one of | Equals none of the values in a list, or is missing |
| greater than, at least, less than, at most | Compares as a number. The value must be a number |
Test from your browser
With Just my browser, the panel shows a test link (your site's address with ?tp_capture= and a tag). Click Copy Link or Open Site and open the site once in the browser you are testing with. From then on, Echo tags that browser's events for this capture only, so you see your own clicks and nobody else's. If the property has no production site address, add ?tp_capture= and the tag shown to any page of your site yourself.
Each request your browser sends to Echo carries an event_id, visible in the browser's developer tools (Network tab). Search for it on the capture page to follow that exact event.
Read the results
The tiles count Events Captured (with progress toward the limit), Sent (accepted by the platform), Not Sent, Failed or Retrying, and Time Remaining.
Below them, the event list can be searched by event ID or event name, filtered by outcome and event name, and sorted newest, oldest, by outcome or by event name. Select an event to see each step: received, checks passed, mapped, each send attempt, and the platform's reply. The inspector shows what Echo received, what was sent (or mapped but not sent), and every attempt.
| Outcome | Meaning |
|---|---|
| Sent | The platform accepted the request |
| Sent on retry | Accepted after a retry |
| Not sent | Echo did not send it. The reason is shown |
| Rejected by platform | The platform refused the request |
| Failed, retrying | The send failed and Echo is retrying |
"Accepted" means the platform took the request, not that it recorded the event. Confirm in the platform's own tools, for example the Realtime report or DebugView in Google Analytics, or Test Events in Meta Events Manager.
Why an event was not sent
| Reason shown | What happened |
|---|---|
| Not in property event list | The event is not in the property's event list |
| Excluded by event filter | The destination's event filter excludes it |
| Consent not granted | The visitor had not given the consent this destination requires |
| No consent signal | The event carried no consent state |
| Global Privacy Control | The browser sent GPC and the destination suppresses GPC |
| Bot traffic | The traffic was flagged as a bot and the destination excludes bots |
| Missing required ID | An identifier the platform requires was missing |
| No event name | The event had no name |
| Too large to send | The event was too large to send |
| Mapping failed | Your mapping could not be applied |
| Dropped by destination | The destination dropped the event before sending |
Download
Click Download and pick JSON (events as captured), NDJSON (one event per line) or CSV (one row per event, with the sent fields flattened as sent.* columns). The file contains the events currently shown after the page's search and filters. Every download is recorded in Capture History.
Stop and delete
Click Stop and Delete and confirm. Every event the capture recorded is deleted immediately and cannot be recovered, so download anything you need first. A capture also stops on its own at its end time. When it reaches its event limit, recording stops but what was captured is kept until the end time.
Capture History keeps who ran each capture, its scope, filters, event and download counts, how it ended and when its data was deleted. It never keeps payload content.
Access tokens and API secrets are removed before anything is stored.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| No events arrive with Just my browser | Open the site with the test link in the same browser, after the panel says Listening. Events arrive within about a minute |
| "A capture is already running on this destination." | Only one capture runs per destination. Stop the running one first |
| "You need edit access to this company to start a capture." | Ask someone with edit access, or ask an admin for edit rights |
| Some matching events could not be recorded | Shown under the tiles. Their delivery to the platform was not affected |
| "Stopped, deletion pending" | Deleting did not finish. It is retried automatically, and the data expires on its own within an hour of the capture's end time |
TagPipes monitors, configures and reports. It does not determine legal compliance and does not provide legal advice. Output is informational and reflects observed state at the time of observation. Confirm any regulatory interpretation with your counsel.