Why Uscreen webhooks trigger but Keap tags don’t apply
Uscreen Keap Zapier tags not applying? Use this checklist to confirm the webhook payload, trace contact matching, and fix the Keap tagging step so it sticks.
If your Uscreen webhook triggers a Zap but the Keap tag never shows up, the most common causes are: the Zap is updating the wrong Keap record, the tag action is pointed at the wrong Keap app connection, or the Zap is “succeeding” while the Keap step is silently skipping due to contact matching or permission rules. Fix it by validating the webhook payload, then tracing the exact contact ID through the Zap run, then confirming the tag action wrote to the same contact in Keap.
What “Zap ran successfully” actually means (and why tags can still be missing)
In Zapier, a run can be marked “successful” even when the result in downstream tools isn’t what you intended. That’s especially true when:
the action step ran, but it ran on a different record than you expected
a lookup step returned some contact, but not the right one
the tag action fired, but the user/connection doesn’t have permission to apply that tag
the Zap uses paths/filters that make the tag step conditional
Quick diagnosis checklist (start here)
Work top-down. Don’t change anything until you can reproduce the issue with a specific example order/subscription.
As you troubleshoot, keep the system boundaries clear:
Uscreen is the event source (webhook payloads, timing, and identifiers).
Zapier is the routing and decision layer (filters, paths, “find or create” logic).
Keap is the system of record for tags (contact matching, permissions, and tag configuration).
1) Pick 3 real examples and write them down
Choose:
1 existing user who purchased a subscription
1 brand-new user who purchased a subscription
1 edge case (coupon, $0 payment, plan switch, etc.)
For each example, capture:
Uscreen user email
subscription/product name
timestamp
what tag(s) should have been applied in Keap
2) Confirm the Uscreen webhook is actually sending the fields you rely on
Even if the Zap triggers, a payload change can break downstream mapping.
In the Zap run history, open the trigger step and confirm you see:
a stable identifier (email and/or user ID)
the event type you think it is (subscription purchase vs. subscription updated)
the membership/product ID needed to pick the correct tag
If these fields are missing or inconsistent, the fix is often upstream: adjust the webhook event type in Uscreen, or add a normalization step in Zapier before you touch Keap.
3) Trace contact matching (this is the #1 root cause)
Most “tag didn’t apply” issues are “tag applied to the wrong contact” issues.
Common failure modes:
the Zap searches Keap by email, but the email in Uscreen is blank, aliased, or changed
you’re searching by name and matching the wrong record
the Zap creates a duplicate contact, then tags the duplicate (and your team is looking at the original)
the Zap uses “Find or Create” with defaults that don’t match your Keap data model
Fix pattern: ensure the Zap either:
matches Keap contacts by email reliably (with normalization), or
stores the Keap contact ID back into a field you can reuse, so future runs don’t rely on fragile searches
4) Confirm the tag action is pointed at the correct Keap connection
If you have multiple Keap connections, it’s easy to apply tags in the wrong account (or a limited-permission user).
In the “Apply Tag” step:
verify the selected account/connection
verify the tag selected is exactly the one you expect (not a similarly named tag)
If you suspect permissions: test by manually applying the same tag to the same contact inside Keap using the same user credentials as the Zapier connection.
5) Check filters, paths, and error-handling that might skip the tag step
Look for:
filters that unintentionally exclude existing contacts or $0 payments
paths that only run for “new users” (and skip existing users)
missing/empty field checks that route the run away from tagging
If you have paths, add temporary logging (e.g., a Slack/email step) so you can see which path a run took without guessing.
“Fix the architecture” (so this doesn’t break again next month)
If the system was built in pieces (one person on Uscreen, one person on Keap), you’ll often see fragile assumptions at the seams. The goal is a structure where each layer is responsible for one job:
Decide which events count as “subscription purchase” vs. “subscription changed”
Zapier: resolve the canonical Keap contact
Use one consistent matching rule
Prefer reusing a stored Keap contact ID when available
Zapier → Keap: apply tags with explicit, testable rules
One action per business rule (so it’s easy to see what ran)
Clear naming so future edits don’t break hidden dependencies
When this is worth a full audit (and what to review in 2–3 hours)
If you’re planning international growth, the best move is often a short architecture review before you keep patching Zaps.
In a 2–3 hour audit, you can usually:
map every Uscreen event → Zap → Keap outcome end-to-end
identify duplicate contact creation and weak matching logic
reduce unnecessary task runs and eliminate “busywork” Zaps
document the intended behavior so future changes don’t regress
If you want help diagnosing and rebuilding the workflow end-to-end, talk to a Connex automation consultant. We’ll map your Uscreen–Zapier–Keap flow, find where tags are being dropped or mis-applied, and fix it for good.
A 49-second video and written steps for finding your Notion workspace ID. Log in, click your workspace name, open Settings, then Identity, and copy the ID.
Sync BlueWatch bookings, inventory, and CRM data into Notion using Zapier webhooks or Make. Step-by-step integration guide for surf schools and tour operators.
Zapier's Procore triggers lock you to one project. Here's how to build a custom Zapier trigger against the Procore API so Slack alerts work across all projects.