When you import in-store transactions into Google Ads, the data that you upload must be formatted correctly so that it can be matched with Google data. Matching issues typically happen when column headers aren’t formatted properly, or when the data hasn't been correctly hashed using the SHA-256 algorithm.
This article provides guidelines on how to successfully upload your in-store transaction data and how to troubleshoot issues with your uploads. Learn more about how to Upload offline transactions.
Follow guidelines to increase match volume
Store sales (direct upload) data files must follow specific formatting guidelines in order to be matched with Google data. Incorrect formatting or incorrect hashing can lead to an upload error or a low number of transaction matches. Follow these guidelines before you upload your file:
- Use the following file formats to upload your transaction data: CSV, Excel, Google Sheets, HTTPS or SFTP.
- Use the following column headers and make sure that they’re spelled correctly:
- Phone Number
- First Name
- Last Name
- Conversion Name
- Conversion Time
- Conversion Value
- Conversion Currency
- All email addresses must include a domain name, such as gmail.com or hotmail.co.jp.
- Make sure that all characters are in lowercase, and remove all extra spaces before, after or in between email addresses and names.
- Emails with accents (for example: è, é, ê and ë) won’t be matched. However, the 'First Name' and 'Last Name' columns can include accents.
- Don’t include prefixes, such as “Mr.”, in customer names.
- Entries under the “Conversion Name” column should use the same exact spelling and capitalisation as the conversion action you created in your Google Ads account.
- “Loyalty Rate” and “Transaction Upload Rate” should be included as parameters. The fraction you enter for these rates needs to be between 0 and 1 (must be greater than 0).
- The following columns should be hashed using the SHA-256 algorithm. (Note: Unhashed data is supported for one-time .csv file uploads via Google Ads. Data in these columns will be automatically hashed in the browser upon submission):
- Phone Number
- First Name
- Last Name
- The following columns should remain unhashed:
- Note that client-side hashing is only supported for .csv format files uploaded through the Google Ads interface. Other file formats (e.g. XLS, Google Sheets) and other upload types (e.g. Scheduled Uploads, Google Ads API (AdWords API)) are currently not supported and require manual hashing prior to upload
You can still upload your transaction data with hashing errors (for example, an email address that includes spaces), but it’s likely that your data won’t be matched.
Preview your file to see formatting issues
Get a preview of whether your data will upload successfully. Refer to the steps to do a one-time upload of your spreadsheet, but click Preview instead of Apply. You’ll be notified of any errors that are found in your rows. Any row marked with an error won’t be processed when you apply your file.
When you view the preview details, the “Change” column shows you the number of errors, along with other information like conversion name, conversion time and conversion value.
The “Status” column shows the status for the row, including error messages.
About using multiple conversion actions
You can create multiple store sales conversion actions to track different types of transactions, such as product category and advertising channel.
Make sure that the conversion names in your file match the exact names in your “Conversion Name” column. Because you need a minimum number of conversions to upload your transactions, we recommend that you prioritise high volume conversion actions.
Troubleshoot errors with your uploads
If you get an error message while previewing your file, find the error in the table below and follow the recommended fix.
Error/Issue How to fix Loyalty rate missing from the parameters row Enter the loyalty rate in the parameters row. The fraction that you use needs to be between 0 and 1 (excluding 0). Loyalty rate isn’t between 0 and 1, excluding 0. Enter a loyalty rate between 0 and 1, (excluding 0). The transaction upload rate is missing from the parameters row Enter the transaction upload rate in the Param row. This is the ratio of sales that you’re uploading to the overall sales that you can associate with a customer. The fraction needs to be between 0 and 1 (excluding 0). For example, if you upload half the sales that you're able to associate with a customer, your Transaction Upload Rate would be 0.5 for 50%. The transaction upload rate isn't between 0 and 1 Enter a transaction upload rate between 0 and 1 (excluding 0). Email column value not hashed Emails should be hashed using SHA-256. First Name column value not hashed First names should be hashed using SHA-256. Last Name column value not hashed Last names should be hashed using SHA-256. Phone Number column value not hashed Phone numbers should be hashed using SHA-256. Country Code can’t be hashed Remove hashing from country codes. Postcode can’t be hashed Remove hashing from postcodes. Can't find this conversion type. Add a new conversion type or change the text you've entered. Use the exact same spelling and capitalisation on your upload file that you used when you created your conversion action in your account. Can't use future dates for time of conversion Don’t use a future date in your ”Conversion Time” column. Can't use negative transaction amounts Don’t use negative transaction values. File size exceeds 50 MB after hashing Break down files larger than 50 MB into multiple files and upload them separately. Insufficient transactions
Some of the conversion actions in your file don’t have enough transactions. In this case, only rows that didn’t get the error will be uploaded and applied. Try the following solutions:
- Fix any errors in the file and upload again.
- Use a longer conversion window to get enough transactions by adjusting at the conversion action level.
- Consider combining some of your transaction types into one conversion action to have a higher transaction volume.
Insufficient matched transactions You didn’t get enough transactions that were matched to Google data. You typically need at least 6,000 matched transactions in order to upload in-store transactions. Review the formatting and hashing guidelines above to ensure that you’re entering the correct information for matching.