> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.noticeable.io/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Widget Cross-Device Synchronization 💾

**Cross-device synchronization allows synchronizing user widget states (e.g. read/seen publications) so they can pick up where they were left off when they move between devices.**

Let's take an example: you have integrated a Noticeable Widget on your pages for authenticated users and you recently released a new publication. A user opens your page by using a mobile device. Since a new publication was published, the Noticeable Widget notifies the user. The user reads the publication and leaves your page. Now, a few hours or days later the same user comes back on your pages but connecting from a laptop. What happens?

If you don't use cross-device synchronization, the user will get notified again by the Noticeable Widget about your new publication. However, if cross-device synchronization is configured, the widget states are retrieved from Noticeable servers and the user does not get notified again for something he was already aware of, thus offering a continuous browsing experience.

# How to enable Widget Cross-Device Synchronization?

Enabling the feature requires 2 actions:

1.  Open the [Noticeable dashboard](https://dashboard.noticeable.io), select a project, click on _Widgets_ in the left menu and select _Enabled_ for the _Cross-Device Synchronization_ switch that appears:

![](https://storage.crisp.chat/users/helpdesk/website/55d6234c11240c00/screenshot-from-2021-02-03-20-_1imh0ix.png)

2. Uniquely identify your users [by using the Noticeable JavaScript SDK](/en-us/article/how-to-identify-users-8bdg1/):

```
noticeable.identify('PROJECT_ID', {
    id: 'a8ONg9xpnGmSg', // your unique user ID (required)
    avatarUrl: 'https://acme.com/john.png', // optional
    displayName: 'John Doe',  // optional
    firstName: 'John',  // optional
    email: 'john.doe@acme.com' // optional
    lastName: 'Doe',  // optional
});
```

or by passing an [end-user SSO token](/en-us/article/end-user-authentication-5c110q/):

```
noticeable.identify('PROJECT_ID', 'YOUR_END_USER_SSO_TOKEN');
```

|| Invoke `noticeable.identify(...)` before any call to `noticeable.render('widget', ...)`.

Learn more about [how to identify users](/en-us/article/how-to-identify-users-8bdg1/).