Attribution and customer journeys

Fix rejected event names in a conversion-report request

Fix event-name selector errors in ChatGPT conversion reports. Verify exact names, recognition, request shape and the meaning of empty event details.

Start reading
Editorial illustration: A wooden beam with a shaped socket sits beside two differently cut tenons.
Editorial illustrationThe different wooden profiles evoke why a technical event name must match the report selector exactly.
The working guide

What you can work through.

Attribution and customer journeys
  • Isolate selector validation with a matching baseline request.
  • Use exact technical event names from the intended account.
  • Separate HTTP errors, empty details and unchanged summary metrics.

The conversion report works without an event filter but returns HTTP 400 after a custom event name is added. Start with request validation. This response does not establish that the campaign has no conversions or that the website stopped sending data. It establishes that the report request was not accepted as submitted.

For ChatGPT advertising, exact event-name selection is a separate concern from event delivery, goal attachment and attributed activity. Work through those boundaries in order. A speculative change to the campaign goal is an unnecessarily broad response to a selector typo.

Reduce the request to a known valid comparison

Preserve the failing request without its credentials and save the returned error detail. Keep the same account, entities, dates, windows and time basis while comparing a request without the problematic selector. This isolates the added selection from unrelated reporting changes.

If the baseline also fails, resolve that request problem first. An invalid date range or incompatible option is not repaired by choosing a different event name. If the baseline succeeds, add one intended name using the documented event-expansion structure and inspect the new response.

OpenAI’s reporting documentation describes exact event names and the conditions under which names are recognized for selection. Use the account’s actual names instead of illustrative names copied from documentation or another client’s implementation.

Compare the technical name, not the display label

An event setting can have a human-readable name while selecting a different technical event identity. A report heading can introduce a third label. Verify the value sent by the integration and the configured event type or custom name, then compare that with the selector character for character.

Look for changed separators, whitespace, capitalization and a stale name left after a deployment. Do not assume a wildcard, friendly alias or partial match is supported. Use only the selector form documented for the current endpoint.

In a hypothetical setup, the dashboard heading says Quote requests while the sender uses service_quote_requested. Sending the display heading as a selector is not equivalent to selecting that event. Record the mapping so the next analyst does not repeat the same mistake.

Check recognition separately from recent receipt

A name is recognized for selection when it appears in conversion event settings, including archived settings, or published received-event history. Receipt alone does not mean that history has already been published. A successful delivery diagnostic and an accepted report selector can therefore become available at different stages, and retention can also affect recognition.

Confirm the current setting and the relevant published history where supported. If the event is genuinely new, document when it was first sent and when the report was attempted. Avoid repeatedly inventing alternative spellings while waiting for a publication stage; that can create a growing collection of unintended names.

Use event-name governance to keep the intended identity stable. The remedy may be correcting the selector or waiting for documented publication behavior, rather than changing the underlying business action.

Distinguish a valid empty result

After the request succeeds, an empty attributed-events array is a different observation from HTTP 400. The selected event may have no matching detail for that row or period. A recognized name does not need to have activity in every requested interval, and an empty array does not certify that historical processing is complete.

Also understand what the selection filters. Selecting event names narrows nested event details; it does not turn the report’s goal total into a total for only those names. A row can retain summary activity while its selected detail array is empty. Use goal versus non-goal reporting before interpreting such a response as contradictory.

For example, a hypothetical row can contain purchase sales while a selected newsletter event has no details. The summary and selection are answering different parts of the report contract. Do not force them to match by replacing summary fields with a sum of whatever nested rows happened to be selected.

Decision guide

Three responses, three investigations

  1. HTTP 400

    Check the name and documented request shape.

  2. Empty event list

    The request succeeded, but the row has no selected event detail.

  3. HTTP 413

    The result is oversized and needs partitioning.

Illustrative response types for event selection.

Handle limits as a separate branch

Check current selector limits and validation requirements in the reference when a long list fails. Add names deliberately and retain a record of the accepted set. Do not split a failing list randomly without first identifying whether a name, list shape or documented limit is responsible.

If the response instead becomes HTTP 413, use the oversized-report procedure. That is a result-size problem. Reducing event detail may help, but repeated summary rows require care when recombining multiple requests.

Close the investigation with the exact accepted technical name, the setting or history that supports it, and one successful request for the intended scope. Preserve any remaining delay or coverage limitation. A fixed selector proves that the report accepted the name; it does not by itself prove complete historical delivery, successful attribution or a valid campaign optimization goal. Keeping those conclusions separate makes the repair both smaller and more trustworthy.

Sources and scope

Diagnose invalid event-name selectors without confusing request validation with missing activity or changing summary semantics.

Working methods and examples are editorial suggestions. Check current platform requirements and available features before implementation.

Your next chapter

See what campaign reporting covers.

Explore reporting in AthillyAds and how it fits alongside your own measurement of enquiries, purchases and other business outcomes.