After you set up your Google Ads account for store sales conversions, you’ll need to prepare your store sales data and then upload the data to Google Ads.
This article explains how to set up and upload your store sales data to Google Ads using various upload methods.
Instructions
1. Choose an upload method
You can upload your store sales data using Google Ads, the Google Ads API, or a store sales partner. You should use only one method for any upload, since the same file uploaded using multiple methods will be de-duplicated and considered only once by Google during the upload.
1. Upload store sales data in Google Ads
You can upload your store sales data directly in Google Ads. With this upload method, you’ll prepare and manually upload your store transaction file to your Google Ads account every time you make a change. You can also schedule uploads so that any changes made to your data can be automatically uploaded from Google Sheets or using a file transfer method (HTTPS / SFTP).
Benefits of uploading store sales data in Google Ads- Ideal if you're new to store sales: If you haven’t uploaded store sales data before, use this method first. As you gain experience with store sales measurement, you may consider switching to the Google Ads API or using a store sales data partner for uploading your store sales data.
- Ease of use: Uploading store sales data through Google Ads can help you verify if your store sales data is formatted properly. After you upload your store sales data, Google Ads will let you know if your store sales data can be used for measurement or provide you with tips for fixing errors in your store sales data.
2. Upload store sales data using the Google Ads API
You can securely integrate your data management system with the Google Ads API to upload your files on a regular basis. To get help and learn more about API uploads, contact your Google account representative.
Benefits of uploading store sales data using the Google Ads API- Ideal for uploading large numbers of transactions: If you frequently update your store sales data or you've a large number of offline transactions you want to upload, use the Google Ads API.
- Save time with uploads: While integrating your data management system with the Google Ads API requires some technical expertise, you’ll be able to reduce the time needed to make changes to your store sales transaction data.
- Technical support: For technical questions concerning the Google Ads API (for example, questions directly related to API or SDK usage, errors received from the API or SDK, and more), follow the troubleshooting steps outlined in the API Technical Support page.
3. Upload store sales data using a store sales partner
Store sales partners are companies that can help you import your offline transaction data directly into Google Ads. Learn more about store sales partners.
Benefits of uploading store sales data using a store sales partner- Supported uploads: Store sales partners are directly integrated with our Google Ads API to automate the data upload process and ensure consistent and reliable data uploads.
- Technical support: All store sales partners can troubleshoot technical issues, allowing you to focus on your core business.
- Data hygiene and formatting: Store sales partners can help format your data to ensure correct and frictionless uploads. For example, store sales partners can review columns in your store sales data file to help troubleshoot common errors.
- Enhanced match rates: Some partners have robust customer information graphs which may increase match rates.
2. Format and hash your store sales data
Hashing is a procedure that takes your sales data and randomizes it in a secure, privacy-safe way. Google only accepts properly-formatted and hashed user data. You can hash your data by:
- Using the SHA-256 algorithm: To keep your data secure, you can hash your customer data yourself using the SHA-256 algorithm, which is the industry standard for one-way hashing.
- Using automated hashing in Google Ads: If your store transactions data is in plain text (.CSV) file format, you can choose to upload the file unhashed to Google Ads. Automated hashing is only available for CSV formats directly uploaded via the Google Ads UI. Google Ads automatically hashes any data that needs to be hashed using the SHA-256 algorithm before accepting the file for any processing.
- Customer email addresses
- Customer phone numbers
- Customer first and last names
- City
- State
- Country
- Zip code / postal code
- Attribute data (for example, currency and conversion names)
File formats
- Excel
- CSV
- Google Sheets
Size limits
- One-time upload directly into your Google Ads account:
- 150MB: For CSV files uploaded manually in Google Ads only (estimated 300,000 transaction rows).
- 50MB: For all other formats, including CSVs uploaded using a schedule (estimated 100,000 transaction rows).
- Upload using Google Ads API: 1,000,000 transaction rows.
Note: If you’re using a store sales data partner to upload your store sales data, check with your store sales data partner on their file size limits.
3. Upload your store sales data
After you prepare your store sales data, the next step is to upload the data to your Google Ads account. The steps to upload your store sales data may differ depending on the upload method you choose.
Upload store sales data in Google Ads
If you’re uploading store sales data in Google Ads, you can choose to make it a one-time upload (you upload every time you update your store sales data) or a scheduled upload (Google Ads checks for updates to your store sales data hosted at a specific location and uploads those changes).
- In your Google Ads account, click the Goals icon .
- Click the Conversions drop down in the section menu.
- Click Uploads from the page menu.
- Click the plus button .
- To download the template that fits with the type of conversions you’d like to import, click View templates. You can choose Excel, CSV, or Google Sheets to upload conversions from clicks, calls, or store sales.
- Click Done.
- Next to “Source”, select the source of the file you want to upload: Upload a file, Google Sheets, HTTPS, or SFTP.
- If you’re uploading a file or using Google Sheets, click Choose file to select the file you want to upload.
- If you’re using HTTPs or SFTP, enter the URL for the file, and the username and password to access the file.
- Click the checkbox next to “This upload contains store sales data collected and shared in compliance with applicable Google policies”, then confirm if you’re uploading Unhashed private customer data or Hashed data.
- Click the Upload and preview or the Upload and apply button.
- If you click Upload and preview, you’ll see a preview of the estimated changes in the "History" tab.
- To import the conversions into your account, click the Action dropdown menu and select Apply.
- If you click Upload and apply, the file will start processing after all the rows are uploaded.
- To see more details about the upload status (including any errors with the upload), click the links in the “Results” column.
- In your Google Ads account, click the Goals icon .
- Click the Conversions drop down in the section menu.
- Click Uploads from the page menu.
- Click Schedules.
- Click the plus button .
- Next to “Source”, select the source of the file you want to upload: Google Sheets, HTTPS, or SFTP.
- If you’re using HTTPs or SFTP, enter the URL for the file, and the username and password to access the file.
- Set a schedule by selecting the "Frequency" and "Time" of day you'd like your uploads to occur. You can schedule weekly or daily uploads for any time of day.
- To upload your file now, click Upload and preview.
- Click Save. You'll see your saved schedule in the table.
- (Optional) To edit, pause, or remove a schedule, go to the "Actions" column and click Options.
- After making any edits, click Save. If you remove a schedule, confirm that you'd like to remove it by clicking Remove.
To make an upload via API, you need to integrate your CRM system with the Google Ads API. To learn more, contact your Google account representative.
Best practices
Below are some important call outs and best practices for uploads and reporting for retail and restaurant customers using store sales:
- Only upload in-store transaction data. Do not include transactions from other channels, such as online sales, phone sales, or online purchases with in-store pick-up. Store sales is intended to measure sales that happen at physical stores.
- Upload transaction data regularly and consistently. Uploading data daily or weekly is recommended to ensure the system has up-to-date data. Keep in mind that Google Ads will only update store sales reporting values from 35 days before the upload date.
- Ensure that your uploads contain transactions that occurred within the last 30 days to receive dynamic conversion value reporting. Regularly providing transactions within the last 14 days is recommended, but transactions need to be within the last 30 days to receive dynamic value reporting. If there are no transactions within the last 30 days, the system will switch to provide reporting based on default value.
- Avoid uploading transactions that occurred more than 90 days before the upload date, as they won’t be processed.
- Avoid uploading the same transaction more than once. If 2 separate uploads contain transactions with the same user and timestamp, only the most recently uploaded transaction will be reported.
- If you need to re-upload existing transaction data, ensure that any previous uploads for the transactions have already been processed. You can check the status of upload processing in Google Ads or the API, depending on where you uploaded your data.
4. Check the status of your upload and correct any errors
After you upload a file to Google Ads, you can check your file status in Google Ads account. This only applies to store sales data files uploaded directly through Google Ads (and not through the Google Ads API).
- In your Google Ads account, click the Goals icon .
- Click the Conversions drop down in the section menu.
- Click Uploads.
- Look at the “Status” column to check the file status for a specific upload.
Upload statuses
ProcessingThe uploaded store sales data failed processing. Here are some reasons why your data may fail to upload:
- Your data hasn’t been hashed or was hashed incorrectly.
- Your data was incorrectly formatted or contains missing values or columns.
- You have a very low number of transactions.
- There aren’t enough transactions matched to customers.
- The average value of transactions is significantly higher or lower compared with the account’s 90-day average.
- The currency code within the upload doesn't match the historic values within the account.
To check for the specific reason, check the “Results” column of the Google Ads statistics table.
Your store sales data upload is finished, but it contains errors. Google Ads can’t process the data until the errors are fixed.
Your store sales data upload is finished and contains no errors. Since there were no updates in the file, Google Ads didn’t update any data.
Download an error report to correct any errors
If Google Ads encounters any errors while uploading your store sales data file, you can download a spreadsheet that lists the conversions from your file that failed to import. You can then fix any errors and re-upload the file to Google Ads.
- From the “Conversions” page in Google Ads, click Uploads.
- Find the store sales data file that has the errors.
- In the “Actions” column, click Download errors.
- Review the error messages in the “Results” column of the spreadsheet to determine why Google Ads couldn’t import your conversions.
- Make the necessary corrections to the spreadsheet and save it.
- Upload the corrected file again.
Troubleshoot specific store sales upload error messages
If you’re experiencing UI errors after uploading, review the steps below for error messages and the recommended next steps to improve the behavior. This isn’t an exhaustive list of error messages. Google Ads UI may indicate additional errors.
The selected file doesn't have store sales columns. To upload your store sales data, add store sales column headersThis error indicates that there's a potential issue with the parameter or header formatting for your store sales upload. Review the following steps if you encounter this error:
- Make sure that you’re using the correct template to upload store sales data and that it contains all of the required rows and columns. To download the store sales upload templates, refer to Format your store sales data.
- Ensure that the parameters and headers are in English as per the default template. The rest of the submitted data may be in any language, but the parameters and headers must remain in English.
- If you’re creating and uploading in a CSV format, open and review the parameter and header rows in a basic text editor to ensure no unexpected characters were added. For example, ensure that:
- There are no quotation marks (") surrounding the Parameters row.
- Different parameter values are separated by a single semicolon (;).
- Header columns are comma-separated (,) with a single comma.
- Make sure that the following columns are present in the file: Conversion Name, Conversion Time, Conversion Value, and Conversion Currency.
- You must also include at least one user identifier, such as Email, Phone Number, or Address (First Name, Last Name, City, State, Zip, and Country).
- If you’re uploading a CSV file and choose to hash the data yourself, review Format your store sales data.
This error indicates that there’s a potential issue with the parameter or header formatting for your store sales upload. Review the following if you encounter this error:
- Make sure that you’re using the correct template to upload store sales data and that it contains all of the required rows and columns. To download the store sales upload templates, refer to Format your store sales data.
- Ensure that the parameters and headers are in English as per the default template. The rest of the submitted data may be in any language, but the parameters and headers must remain in English.
- If you’re creating and uploading in a CSV format, open and review the parameter and header rows in a basic text editor to ensure no unexpected characters were added. For example, ensure that:
- There are no quotation marks (") surrounding the Parameters row.
- Different parameter values are separated by a single semicolon (;).
- Header columns are comma-separated (,) with a single comma.
- Make sure that the following columns are present in the file: Conversion Name, Conversion Time, Conversion Value, and Conversion Currency.
- You must also include at least one user identifier such as Email, Phone Number, or Address (First Name, Last Name, City, State, Zip, and Country).
- If you’re uploading a CSV file and choose to hash the data yourself, review Format your store sales data.
This error indicates that the upload couldn’t be completed due to taking too much time or a network interruption. Review the following steps to try and improve this:
- Review your file and make sure that it meets the upload file size requirements listed in Format your store sales data.
- If your file is near or over the limit, try splitting the file into separate smaller files.
- If you’re uploading multiple files, try uploading one file at a time.
- If the file size is within the limits, try uploading the file at a later time or from a different network connection.
Review your upload settings and verify that your SFTP URL, name, and/or password are correct.
- Tip: Try downloading the file with a separate SFTP program to ensure that the file location and credentials are correct.
This error indicates that the transaction upload has a significantly higher or lower average transaction value compared with the account’s 90-day historical average. Such uploads are initially blocked in order to prevent potentially incorrect data from being ingested which could result in reporting errors. If you receive this error when uploading, please review the following steps:
- Review the intended transaction upload file and confirm that the provided transaction values are correct and the upload average is aligned with your expectations.
- If there are any errors in the file values, please correct them and try the upload again
- You can review the average order value for the last 90 days within your Google Ads account
- If the file contents and transaction values are correct and intended, please reach out to your Google Ads account management team or to Google Ads support to request an exemption to allow the file to be processed.
- Note that the validation exemption for these errors can only be reprocessed if the upload attempt happened within the last 25 days.
This error indicates that the currency code within the upload doesn't match the historic values within the account. Such uploads are initially blocked in order to prevent potentially incorrect data from being ingested which could result in reporting errors. If you receive this error when uploading, please review the following steps:
- Review the intended transaction upload file and confirm that the provided currency code values are correct and aligned with your expectations.
- If there are any errors in the currency code values, please correct them and try the upload again
- If the file contents and currency code values are correct and intended, please reach out to your Google Ads account management team or to Google Ads support to request an exemption to allow the file to be processed.
- Note that the validation exemption for this can only be reprocessed if the upload attempt happened within the last 25 days.
Insufficient matched transactions
This error indicates that upload didn’t have sufficient new transactions that Google was able to match to. If you receive this error during an upload, review the following steps:
- Review the upload file and make sure that the volume of uploaded transactions is sufficient. We recommend that you upload at least 30,000 transactions per month.
- Make sure that your upload doesn’t include duplicate transactions.
- If the volume is too low, try uploading additional new eligible transactions.
- Review the format for the provided data to ensure it’s correct.
- Make sure that any user personally identifiable information (PII) is properly hashed where applicable. Also check that all other fields are also provided and formatted correctly.
- Make sure that any provided transactions are from the last 90 days.
- Any transactions older than 90 days won’t be processed.