# Campaign and Entry Patterns ## Campaign-First Pattern (Recommended) ```html ``` ## Runtime User Context Refresh ```javascript window.zoomCampaignSdkConfig = { env: 'us01', apikey: 'YOUR_API_KEY', firstName: 'Ada', email: 'ada@example.com' }; window.addEventListener('zoomCampaignSdk:ready', async () => { if (window.zoomCampaignSdk.waitForReady) { await window.zoomCampaignSdk.waitForReady(); } window.zoomCampaignSdk.updateUserContext(); }); ``` ## Entry ID Fallback Pattern Use entry ID only when your flow requires pre-chat data collection that cannot be handled in campaign configuration.