User Preferences
Under GDPR and CCPA, users have the right to change their mind at any time — accepting categories they previously declined, or withdrawing consent they previously gave. Propper records every change as a new entry in their consent history, so you always know exactly what happened and when.
Screenshot: preference center UI showing category toggles with current accepted/declined state and a Save Preferences button
How preference updates work
When a user changes a consent choice:
- The new choice is recorded alongside the original — nothing in the history is overwritten or deleted.
- Propper updates the user's current consent state to reflect the new preferences.
- A new evidence bundle is generated for the update, capturing what was shown and what was chosen.
This means you always have two things: a live, up-to-date view of each user's current preferences, and a complete, immutable history of every change they've ever made.
Letting users update their preferences
Users update their preferences through a preference center — a page in your application where they can review and change their consent choices at any time.
To build one, your development team renders the Consent Management deployment using the Click SDK. The SDK automatically displays the form pre-populated with the user's current choices, so users see exactly what they've already agreed to.
const sdk = ProperClick.init({
apiKey: 'YOUR_API_KEY',
userId: currentUser.id, // required — links choices to this user's history
userEmail: currentUser.email,
});
await sdk.render('YOUR_CONSENT_DEPLOYMENT_ID', {
onAccept: (acceptance) => {
// Preferences saved — refresh your UI to reflect the new state
refreshPreferenceCenter();
},
});
Screenshot: click-consent-prefilled-form, preference center form loaded with the user's existing choices already reflected — some category toggles on, others off — before the user makes any changes
Screenshot: click-consent-preference-flow, the full preference center update flow — user opens the form, adjusts toggles, clicks Save, and the form confirms the new choices have been recorded
Without userId and userEmail, the session is treated as anonymous and cannot be linked to the user's existing consent history. See SDK Initialization for the full setup.
When a user withdraws consent
If a user declines all categories, Propper records each as declined and updates their current consent state accordingly. The original acceptances remain in the history — withdrawal is recorded as a new event, not a deletion of the past.
Screenshot: click-consent-withdrawal, the consent form with all category toggles set to off after a user has declined everything — showing withdrawal as an explicit UI action the user takes
For full data erasure requests under the GDPR right to be forgotten, see Data Retention for how retention periods and deletion work.
Next steps
- Consent Tracking — the full history of what gets recorded for each choice
- Evidence & Compliance — how consent records satisfy regulatory requirements
- SDK Initialization — how to pass user identity for linked consent records