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 or two enrichment rules, and a habit of checking what you bought.
Before you start
- You need an API key with the
copilotscope to read the configuration through the assistant. Enrichment rules themselves are edited on the dashboard's Intent & Enrichment page. - 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 https://app.signal.geysera.com/capabilitiesunderplans.
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 your rules, how many people the next run would buy, and the budget together, which is what you need: generous rules with a small cap do not fail loudly, they just stop enriching partway through the month and leave the rest of your visitors bare.
Rules decide who; caps decide how much
Enrichment rules decide who is eligible. A rule is a journey, not a filter: steps in order, each a page visited, an event (a product view, a checkout), or a cart product — a cart that held one of the products you pick — with "then" for order and "did not" for exclusions. Only rules that are on count, and a person any of them matches may be enriched. With no rule on, nobody is.
Each rule can have its own monthly credit budget. When it is reached, that rule stops until the next month and the others carry on.
| Limit | What it does |
|---|---|
| A rule's monthly budget | Credits that rule may spend per month (UTC). Optional. |
daily_cap | The most the workspace spends in a day. With none set, nothing is spent. |
total_cap | The most the workspace ever spends (a lifetime cap). Optional. |
| Your plan | The monthly allowance, which applies either way. |
Every rule has a Preview that runs the real query and spends nothing, counting how many people are left after each step — so the step that empties it is the one to change. The Enrichment card says how many people the next run would actually buy, after everything else a run applies.
Two traps that cost real money
A rule that matches nobody fails silently. It produces no errors, just a budget that never gets spent and visitors who are never filled in. Preview before you turn a rule on; if credits stopped moving and nothing looks broken, preview each rule that is on.
On a DTC site, most visitors are individuals. Consumer mailboxes roll up under one account, so a rule over a busy page mostly buys enrichment for individuals. That is right if you sell to people and wrong if you sell to companies, and the rule does not know which you are.
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 no rule chose this person, and if you would have called them, your rules are too narrow. "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 your rules are right than any aggregate.
A starting point worth tuning
There is no universally correct configuration, but there is a sensible order to find yours:
- Start with one rule over the page or cart product that genuinely means intent — pricing, a specific product, a booking page — and preview it.
- Add a daily cap at roughly your monthly allowance divided by 25, so a single busy day cannot eat the month, and give the rule a monthly budget.
- Only then narrow it: a "then" step for order, a "did not purchase" step to skip customers. Each step you add is a narrower rule than it looks.
- Re-check after two weeks by sampling people you contacted.
Narrow a rule if you are running out mid-month. Widen it, or add a rule, 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
- Build a daily call list — who the credits were spent on, ranked.
- Write a first-touch email from what they read — the thing enrichment is funding.
- Watch your own data quality — whether the inputs deserve the budget at all.
Markdown source: /developers/workflows/spend-enrichment-credits-only-where-they-pay-back.md