Skip to content

How to Import a Data Safety CSV in Play Console

Short answer: in Play Console, open App content, select Start under Data safety, and use the import button near the top right of the page to choose your CSV. Importing replaces every answer in the form, so export a backup first. Then check the store listing preview, save and submit.

  1. Back up. On the same Data safety page, select Export to CSV and keep the file. See how to export the Data safety CSV.
  2. Start from Google’s format. The safest base for your import is a fresh export, because it always has the current questions. Google’s help page also offers a sample CSV to download.
  3. Fill the Response value column and nothing else. Google’s help page says to enter TRUE or FALSE there. A few rows, such as the account deletion URL, take text instead.
  4. Import. Select the import button near the top right of the Data safety page. Google’s help page names it Import to CSV, under a section called “Import from a CSV file”.
  5. Check the result in the form and in the store listing preview.
  6. Save as draft or Submit.

Google’s warning is short: “Answers already entered into your form will be overwritten when you import a CSV.” (Play Console Help)

Each row is one response. There are five columns:

Question ID (machine readable),Response ID (machine readable),Response value,Answer requirement,Human-friendly question label
PSL_DATA_COLLECTION_COLLECTS_PERSONAL_DATA,,true,REQUIRED,Does your app collect or share any of the required user data types?
PSL_DATA_TYPES_LOCATION,PSL_APPROX_LOCATION,true,MULTIPLE_CHOICE,Location / Approximate location

The Answer requirement column is one of OPTIONAL, REQUIRED, MULTIPLE_CHOICE, SINGLE_CHOICE or MAYBE_REQUIRED. Leave it as Google wrote it. Every question and response ID is listed in the CSV format reference.

The privacy policy URL is not a row in the CSV. You enter it in Play Console.

If you already publish from CI with a service account, two options send the same CSV:

  • The Google Play Developer API method applications.dataSafety takes the full CSV contents in a safetyLabels string. Like the manual import, it replaces the whole declaration.
  • The community fastlane plugin fastlane-plugin-google_data_safety has an upload_google_data_safety action. See the comparison for what it does.

A manual import is the better default for most people, because you see the result before you save.

  • No backup. If the import goes wrong, your old answers are gone unless you exported them.
  • An old template. If Google added or changed questions since you saved your file, rows won’t match. Export again and copy your answers across.
  • Editing more than the Response value. Changing an ID, the requirement column or the row layout makes the file disagree with Google’s format.
  • A data type selected with no usage answers. Each selected type needs collected/shared, ephemeral (if collected), required/optional and at least one purpose.
  • Conflicting account answers. PSL_ACM_NONE (“my app does not allow users to create an account”) selected together with another method.
  • Spreadsheet side effects. If you edit in a spreadsheet app, save as plain CSV and check that the ID columns came through unchanged.

The skill only changes the Response value column of your own export, row for row, and validates the file as it writes it. Its validator flags rows that don’t match the template, unanswered required questions, data types without usage answers and conflicting choices. It also tells you to export a backup before importing. Get started.

Want the form filled from your own code, with evidence? Install the skill. If this page helped,star the repo on GitHub.

Built by Sanikant. Set in Google Sans Flex (SIL Open Font License), icons from Material Symbols (Apache 2.0). Google Play is a trademark of Google LLC; this project is not affiliated with Google. Output is a draft for review: you are responsible for your Data safety declaration.