Troubleshooting
Use this page when a sync isn't behaving the way you expect. Start with the section that best describes your symptom, then follow the checklist.
My sync never started
A sync that was triggered (manually or by schedule) but never appeared in the Auto Sync tab, or has been stuck in queued for more than a minute.
-
Is the subscription active? Check the subscription status on the integration settings page. If it's paused, the scheduler skips it entirely — resume the subscription and wait for the next scheduler tick (up to five minutes).
-
Is there already a run in progress? Two syncs for the same subscription cannot run at the same time. If a previous run is still in
fetching,paginating, orprocessing, the scheduler will skip the subscription until that run finishes. -
For Visit specifically: Visit is webhook-driven, so there's no Auto Sync tab. Check the Logs → System sub-tab. Confirm the webhook is registered and its status isn't
error— see the Visit integration page. -
Check the Logs → System sub-tab for scheduler decisions, queue events, and any infrastructure-level errors in the last 15 minutes.
My sync failed
A sync run that ended with status failed or abandoned.
-
Check Logs → System for the integration. This is where infrastructure errors, API connectivity failures, and unexpected exceptions are recorded.
-
Check Logs → Requests. If the source API returned an error (HTTP 4xx or 5xx, or an API-level error in the response body), it'll be there. Common causes: expired credentials, incorrect API host, rate limits.
-
Verify credentials. Re-save the integration configuration to force a fresh credential handshake. Confirm all required credential fields (API key, username/password, host URL, event ID) are filled in correctly.
-
After fixing the root cause, trigger a manual full resync to re-fetch anything that was missed.
failed vs abandoned
-
failed= the sync hit an error during the fetch phase (before processing started). No retries at the run level. -
abandoned= the processing phase failed repeatedly — records couldn't be saved to ExpoPlatform after multiple retries. The subscription is reset to idle automatically, so the next scheduled run will try again.
Records are being skipped
High skip counts in the Auto Sync tab or the Visitors / Exhibitors Logs sub-tab. The skip reason tells you which setting is responsible.
|
Skip reason |
What it means |
Setting to check |
|---|---|---|
|
|
The record is identical to what ExpoPlatform already has. No write needed. This is normal. |
No action. If a field should have triggered an update but didn't, check that the field is in the active field mapping. |
|
|
The incoming category isn't in the Category Mapping table, and Unmapped Category Handling is set to |
Category Mapping — add the missing mapping, or change Unmapped Category Handling to |
|
|
A configured filter or setting excluded the record. On Visit, usually the Registration State Filter. On Genesis / A2Z, usually a Data Filter. |
Check the relevant filter — Data Filters, or the integration's specific settings page. |
|
|
The record was flagged as deleted in the source system. The ExpoPlatform record was removed from the event. |
Expected. Only investigate if the deletion is unexpected — check the source system. |
|
|
A required field (usually email) is missing or invalid. |
Fix the source record. For visitors, email is required. For exhibitors, it depends on the field mapping. |
|
|
Another record already resolved to the same ExpoPlatform account. |
Usually caused by shared email addresses in the source. Check for email collisions. |
|
|
Email First identity matching found a conflict (the incoming email is on a record with a different External ID). |
See Identity Matching → Email First conflict. Resolve the conflict in either the source system or ExpoPlatform. |
|
|
Skipped for a reason not fitting any of the above. |
Open the record's entry in Logs → Visitors / Exhibitors for the specific message. |
Records aren't being updated
Records are being processed (marked skipped (unchanged) or not appearing at all) but their data in ExpoPlatform doesn't reflect recent changes from the source.
Check the field mapping
Each time a record is written to ExpoPlatform, the sync stores a fingerprint of what it wrote. On the next sync, if the fingerprint of the incoming record matches, the record is skipped as unchanged. If a field you care about isn't in the active field mapping, changes to that field will never trigger an update.
-
Check the Field Mapping tab for the integration — is the field mapped?
-
If you recently changed the mapping, trigger a manual full resync so all records get re-evaluated with the new mapping.
Check identity matching
If the identity matching strategy doesn't correctly resolve incoming records to the right ExpoPlatform accounts, updates might be applied to the wrong record — or new duplicates might be created instead of updates happening.
-
Review the Identity Matching setting for the integration.
Check data filters (Genesis, A2Z, HubSpot)
A Data Filter that rejects a record causes it to be skipped entirely — it won't be updated even if its data has changed. If you see skipped (settings) for records you expected to be updated, review the Data Filters setting.
I don't see the results I expected
The sync completed but the counts, field values, or category assignments aren't what you expected.
-
Check the Auto Sync tab counts. A high
unchangedrate means most records matched their stored fingerprint. A highcategoryMappingrate means category configuration needs attention. -
Look at a specific record. In Logs → Visitors or Logs → Exhibitors, filter by the External ID or email of the record in question. Its most recent entry shows the outcome and, for skips, the reason.
-
Verify field mapping. If field values are wrong or blank in ExpoPlatform, confirm the field is mapped and the source path matches the field name the source actually uses.
-
Check for delayed processing. Scheduled syncs run every five minutes. If you made a change in the source and checked ExpoPlatform right away, the next sync might not have run yet. Check the timestamp of the latest run.
Something else / I need help
If the guidance here doesn't help, contact your API Manager. Provide:
-
The event ID
-
The name of the integration
-
The Sync Job ID from the Auto Sync tab (or the timestamp of the run you're investigating)
-
A description of what you expected and what happened instead