STRATCONN-6767 - [GEC] Treat updated events as add in mirror sync mode#3731
Open
varadarajan-tw wants to merge 6 commits intomainfrom
Open
STRATCONN-6767 - [GEC] Treat updated events as add in mirror sync mode#3731varadarajan-tw wants to merge 6 commits intomainfrom
varadarajan-tw wants to merge 6 commits intomainfrom
Conversation
When syncMode is mirror, RETL sends updated events but the Customer Match User List action had no handler for them, causing "Could not determine operation type" errors. Updated events now map to the ADD operation since identifiers may have changed.
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes Google Enhanced Conversions (Customer Match User List) handling of RETL updated events in mirror sync mode by treating them as add, preventing “Could not determine operation type” failures and ensuring identifiers are re-synced.
Changes:
- Map
event_name = updated→addwhensyncMode = mirrorin both non-batch and batch operation-determination paths. - Add unit tests covering
updatedevents in mirror mode for single-event and batch execution.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
packages/destination-actions/src/destinations/google-enhanced-conversions/functions.ts |
Updates mirror-mode operation logic to treat updated as an add in both non-batch identifier extraction and batch operation detection. |
packages/destination-actions/src/destinations/google-enhanced-conversions/__tests__/userList.test.ts |
Adds tests for updated mirror-mode behavior (single-event + batch) and extends coverage around sync mode handling. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3731 +/- ##
==========================================
- Coverage 81.07% 80.87% -0.20%
==========================================
Files 1655 1347 -308
Lines 32088 25057 -7031
Branches 7090 5201 -1889
==========================================
- Hits 26014 20266 -5748
+ Misses 5101 3844 -1257
+ Partials 973 947 -26 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
varadarajan-tw
commented
Apr 21, 2026
| payload.event_name === 'Audience Entered' || | ||
| syncMode === 'add' || | ||
| (syncMode === 'mirror' && payload.event_name === 'new') | ||
| (syncMode === 'mirror' && (payload.event_name === 'new' || payload.event_name === 'updated')) |
Contributor
Author
There was a problem hiding this comment.
More improvements for this are on the way with standardized audience membership evaluators
abhandage
approved these changes
Apr 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the Customer Match User List action in the Google Enhanced Conversions destination failing with "Could not determine operation type" when RETL sends
updatedevents in mirror sync mode.When syncMode is
mirror, RETL subscribes tonew,updated, anddeletedevents. However, the destination only handlednew(→ ADD) anddeleted(→ REMOVE), silently dropping or erroring onupdatedevents. Since Google's API doesn't support an Update operation,updatedevents should be treated asadd— the user identifiers may have changed and need to be re-synced.Changes
functions.ts: Two places wheremirrormode determines operation type now includeupdated→addmapping:determineOperationType(batch path)__tests__/userList.test.ts: Two new tests covering theupdatedevent in mirror mode (single-event and batch paths)Testing
Had to test directly on staging with Integrations as we don't have RETL subscription. This chane is pretty much contained to RETL -> GEC flow. So, this testing is sufficient.
Test Results
Security Review
type: 'password'New Destination Checklist
verioning-info.tsfile. example