adQuery Bid Adapter: pass qid to user sync URL#15265
Conversation
Extracts qid from server response and includes it in getUserSyncs URL params.
# Conflicts: # modules/adqueryBidAdapter.js
|
Tread carefully! This PR adds 10 linter errors (possibly disabled through directives):
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 65bed1006b
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| */ | ||
| getUserSyncs: (syncOptions, serverResponses, gdprConsent, uspConsent) => { | ||
| logMessage('getUserSyncs', syncOptions, serverResponses, gdprConsent, uspConsent); | ||
| if (!gdprConsent?.gdprApplies || !hasPurpose1Consent(gdprConsent)) { |
There was a problem hiding this comment.
Allow syncs when GDPR does not apply
When gdprConsent is absent or has gdprApplies: false, this condition returns [] before building the sync URL, so adQuery will not register any user syncs for non-GDPR traffic or setups without the TCF module. The imported hasPurpose1Consent helper already treats non-applicable GDPR as allowed, and the previous code emitted gdpr=0, so this regresses syncing for those environments even when a qid is present.
Useful? React with 👍 / 👎.
Type of change
Description of change
Passes qid (query ID) from the bid server response (body.data.qid) to the user sync URL as a query parameter. This allows adQuery's sync endpoint to identify the user server-side during synchronization.
Additionally, syncs are skipped when no qid is present in any server response, and GDPR Purpose 1 consent is verified before syncing.