Skip to main content
All CollectionsGDPR & Data PrivacyData Collection
How does Batch manage data when your device is offline?
How does Batch manage data when your device is offline?

Find out how Batch's SDK manages attributes, tags and events when your device is not connected to Internet

Alexandre avatar
Written by Alexandre
Updated over a year ago

Batch's SDK collects a certain amount of data from the app: native data from the phone, custom data tagged in the app, direct push opens, etc.

Each time the app is opened, the SDK will try to send this data to the Batch servers. It will send custom data of the tagging plan only if the latter has changed.

More details below on how the data is managed and what happens if the device is not connected to the Internet:

Attributes & tags

The attributes & tags are stored on the device in a small database, maintained by the SDK even after sending, as long as the app stays on the phone and the data isn't deleted.

If the sending has failed (e.g. because the device is offline), they will be sent back to the server later during the session at an appropriate time.

Note: A data wipe will delete all local SDK data. More information about data deletion in this article: GDPR compliance.

Events

The SDK stores the events (tagging plan, opens tracking, etc) locally on the device as long as it has not managed to reach Batch's server. It will retry the sending until it succeeds.

If the events arrive too late, they won't be counted by the Batch back-end.

Trigger campaigns

If a trigger push campaign is triggered with an event that was sent late to the server, we manage it in the following ways depending on the case:

• event reception delay < campaign timer: the push will be scheduled normally.

Example: the back-end receives an event that occurred 10 days ago, and the campaign has a timer of 15 days. The push will be scheduled in 5 days.

• event reception delay > campaign timer: we check if the push is scheduled more than a certain amount of time in the past. If so, we dismiss it.

Example: the back-end receives an event that occurred 10 days ago, and the campaign has a timer of 5 days. The push will be scheduled 5 days in the past, so it will be dismissed.

If you want to learn more about what the SDK is doing, you can go to this article.


This article belongs to Batch's FAQ. Need more help? Find insightful articles, documentation, case & market studies, guides, and even more in our website's Resources section on batch.com and our blog.

Did this answer your question?