When a page uses data binding, scrolling can re-sync the phone number field from the app’s backend, overwriting the Invoca Tag’s swapped number.
Symptoms
- The number doesn’t swap on the mobile version of a page, but does swap correctly on desktop.
- The page uses “data binding.”
- Running
Invoca.PNAPI.run()in the console forces the number to swap. - Scrolling further down the page causes the number to swap back to the original.
Cause
Data binding is a technique that binds two data sources — or two representations of the same data — together and keeps them synchronized. As a visitor scrolls, the application syncs data from its backend with the UI element, which overrides the Invoca Tag’s swapped number. This only happens on page load or whenInvoca.PNAPI.run() is called.
Data binding is a common and reasonable practice in modern software development, but it means the page’s own application overrides the Tag’s number swap — the number field is “bound” to the site’s backend data.