# Register devices and synchronize data

To effectively target and engage users through Pushwoosh, it's crucial to ensure that user devices are properly registered and your data is synchronized. There are several methods for registering devices and synchronizing data with Pushwoosh, depending on your specific needs.

## Pushwoosh SDK

### Mobile

<Aside type="caution" icon="setting" title="Developer assistance needed">
To register users, first integrate the Pushwoosh SDK. Share these links with your development team: [SDK integration guide](/developer/pushwoosh-sdk/pushwoosh-sdk-overview/) and [user registration via SDK](/developer/first-steps/subscribe-users/#pushwoosh-sdk) to get started. 
</Aside>

For mobile apps, Pushwoosh SDK integration is the recommended method for seamless device registration and data synchronization between the app, Pushwoosh systems, and, optionally, third-party systems that customers may use for specific data pipelines or workflows.

By integrating the SDK, you can automate the process of registering devices and handling their push tokens. The SDK internally calls the registerDevice API method, ensuring that every device is registered and synchronized with Pushwoosh without requiring any manual intervention.

Additionally, the Pushwoosh SDK allows registering phone numbers for SMS and WhatsApp notifications.


### Web


<Aside type="caution" icon="setting" title="Developer assistance needed">
To register users, first integrate the [Web Push SDK](/developer/pushwoosh-sdk/web-push-notifications/web-push-sdk-30). Share these links with your development team: [Web push SDK integration guide](/developer/pushwoosh-sdk/web-push-notifications/web-push-sdk-30) and [user registration via SDK](/developer/first-steps/subscribe-users#web) to get started.
</Aside>

Hint: To allow your website visitors to opt-in for push notifications, set up either a custom or default [Subscription Prompt](/product/messaging-channels/push-notifications/subscription-prompt) on your site. This prompt triggers the browser’s native subscription request, where users can choose to enable or block web push notifications for your site.

<video src="/start-with-your-project-subscribe-users-1.webm" title="Website showing subscription prompt for web push notifications with browser permission dialog." autoplay loop muted playsinline />

[Learn more about Pushwoosh SDK](/developer/pushwoosh-sdk/pushwoosh-sdk-overview)

## Pushwoosh API

Also, you can use the **Pushwoosh API** to register devices and synchronize data. The API provides full flexibility for more advanced scenarios.

<Aside type="caution" icon="setting" title="Developer assistance needed">
 You'll need assistance from your development team to register devices and synchronize data using Pushwoosh API. Please share [this guide](/developer/first-steps/subscribe-users#pushwoosh-api) with them for proper implementation.
</Aside>

## Importing your existing user base

If you're working with large sets of pre-existing data, you can import this data into Pushwoosh.

### Mobile

To migrate your Mobile push subscribers base, please contact us via the [Contact Us form](https://help.pushwoosh.com/hc/en-us/requests/new) and provide a sample of your user base. Our team will review the data format and assess whether the migration is feasible.

### Web

Web users cannot be imported due to technical limitations. Different push providers use varying payload formats and platform configurations, making importing web users ineffective. As a result, the imported user base would either be invalidated or receive incorrect or blank content.

However, web users who have already given permission to receive push notifications for your website can be resubscribed. [Learn more](https://help.pushwoosh.com/hc/en-us/articles/360018326111-Migrate-your-userbase-to-Pushwoosh/?utm_content=docs&utm_term=post&utm_campaign=migrate-your-userbase-to-pushwoosh)

### Email

To collect signups directly from your website, use [subscription forms](/product/audience-data-and-segmentation/subscription-forms/) in the Control Panel under **Audience → Subscription forms**.

To [import your email subscriber database](/product/messaging-channels/emails/get-email-subscribers), upload a **.csv** file with the email addresses. The emails imported will be registered as subscribers on the email platform. You can also submit additional data for each email address, such as the recipient’s name, gender, or location, to better segment and personalize your email communications.

[Learn how to import emails](/product/messaging-channels/emails/get-email-subscribers/#how-to-import-your-email-list-from-csv)

### SMS

Import a **.csv** file with phone numbers for SMS subscribers. You can provide additional data, such as the recipient’s name, gender, or location, to further segment and personalize your SMS communications.

[Learn how to import SMS contacts](/product/messaging-channels/sms/import-sms-contacts/)

### WhatsApp

To import your WhatsApp contacts, upload a .csv file with WhatsApp contacts. You can also provide extra details, such as the recipient's name, gender, or location, to customize your WhatsApp messages.

[Learn how to import WhatsApp contacts](/product/messaging-channels/whatsapp-messages/register-phone-numbers-for-whatsapp/#how-to-import-whatsapp-contacts-from-a-csv-file)

## Using 3rd-party integrations to transfer data

In addition to the SDK and API, Pushwoosh offers several third-party integrations to help you synchronize and transfer data from other platforms, making it easier to manage users and data across multiple systems.

[Explore all available integrations](/product/integrations/)