On this page

Spend enrichment credits only where they pay back

The job: stop paying to enrich visitors you will never contact, without losing the ones you would have called.

Who this is for: anyone on a paid plan watching credits disappear by the middle of the month.

What it costs you: one configuration change, and a habit of checking what you bought.


Before you start

  • You need an API key with the copilot scope — the enrichment gate is configured through the assistant or the dashboard, not the four public GETs.
  • You need the pixel live, or there is nothing to enrich and nothing to tune.
  • Enrichment is a paid-plan feature. The free tier spends nothing by design: it runs on data that costs nothing at the margin. Your plan's credit allowance is published at GET /capabilities under plans.

What you are actually buying

Identification is one thing; enrichment is another. Identification tells you who a visitor is from the identity graph. Enrichment spends a credit with a vendor to fill in the rest — title, company detail, the fields that make a first email worth sending.

Credits are finite and monthly. So the only question that matters is: which visitors are worth a credit? Enriching everyone is the default failure — the month's budget goes on people who bounced off your homepage once.

See where it goes today

curl -X POST https://app.signal.geysera.com/agent-api/signal/copilot/ask \
  -H "Authorization: Bearer $SIGNAL_COPILOT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"question": "What is my enrichment configuration and how many credits have I spent this month?"}'

That returns the gate and the budget together, which is the pair you need — a generous gate with a small cap does not fail loudly, it just stops enriching partway through the month and leaves the rest of your visitors bare.

The four dials

The gate decides who is eligible. Caps decide how much you will spend before stopping.

Dial What it does
min_intent_score Only enrich at or above this intent score. The single most effective filter.
account_kind business, personal, or all.
page_patterns + match_mode Only enrich visitors who saw particular pages — all of them, or any.
daily_cap / total_cap Spend ceilings per day and per month.

Ask for a change in English:

{"question": "Only enrich business visitors with an intent score of 60 or higher, and cap it at 40 credits a day."}

It will describe the change and wait for your approval before applying it.

Two traps that cost real money

An empty page_patterns list matches NOBODY, not everybody. This reads backwards from every other filter in the product, where empty means "no restriction". Here, setting it to [] switches enrichment off in practice — and it does so silently, because a gate that matches nothing produces no errors, just an enrichment budget that never gets spent and visitors who are never filled in. If credits stopped moving and nothing looks broken, check this first.

On a DTC site, personal is most of your traffic. Consumer mailboxes roll up under one sentinel, so account_kind: "all" on a consumer site means you are mostly buying enrichment for individuals. That is right if you sell to people and wrong if you sell to companies, and the default does not know which you are. Setting business on a DTC store can take your spend to near zero — which is a saving or a mistake depending entirely on your model.

Check what you got, not just what you spent

A credit spent is not a field filled. Ask about a specific person:

{"question": "What did enrichment find for dana@acme.com?"}

Two answers are worth acting on. "Never enriched" means the identity fields you are seeing came from identification, not from a paid lookup — so the gate never let this person through, and if you would have called them, your threshold is too high. "Expired" means what you are looking at is what we last saw, not what is true now; re-running refreshes it and spends again.

Sampling ten people you actually contacted last month tells you more about whether the gate is set right than any aggregate.

A starting point worth tuning

There is no universally correct configuration, but there is a sensible order to find yours:

  1. Start with the intent threshold alone, set where your reps would genuinely pick up the phone. Leave the page filter empty of restrictions.
  2. Add a daily cap at roughly your monthly allowance divided by 25, so a single busy day cannot eat the month.
  3. Only then add page patterns, and only for pages that genuinely indicate intent — pricing, a specific product, a booking page. Remember any versus all: requiring all of three pages is a much narrower gate than it looks.
  4. Re-check after two weeks by sampling people you contacted.

Raise the threshold if you are running out mid-month. Lower it if you keep finding people you wanted who were never enriched.

Let an agent watch it

This is a good standing job for the loop in Give Signal to any LLM as tools: once a week, ask for the configuration and the spend, compare against the allowance in /capabilities, and say something only when the run rate will miss or overshoot the month. A budget that quietly stops working is the failure mode, and it is exactly the kind of thing nobody notices until a rep asks why a record is empty.


Next

This page is maintained next to the service it describes and rendered here. Read it as markdown if you are pointing an agent at it.