Fix issues with importing store sales (direct upload) conversions

When you import in-store transactions into Google Ads, the data you upload must be formatted correctly so it can be matched with Google data. Matching issues typically happen when column headers aren’t formatted properly, or when the data has not 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:

Formatting guidelines

  • 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 they’re spelled correctly:
    • Email
    • Phone Number
    • First Name
    • Last Name
    • City
    • State
    • Country
    • Zip Code
    • Conversion Name
    • Conversion Time
    • Conversion Value
    • Conversion Currency
  • All email addresses must include a domain name, such as or
  • Make sure 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 capitalization 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).

Hashing guidelines

  • 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):
    • Email
    • Phone Number
    • First Name
    • Last Name
  • The following columns should remain unhashed:
    • City
    • State
    • Country
    • Zip Code
  • 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 prioritize 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 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 you’re uploading to the overall sales 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 are able to associate with a customer, your Transaction Upload Rate would be 0.5 for 50%.
    The transaction upload rate is not 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.
    Zip Code can’t be hashed Remove hashing from zip codes.
    Can't find this conversion type. Add a new conversion type or change the text you've entered. Use the exact same spelling and capitalization 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 you’re entering the correct information for matching.
Was this helpful?
How can we improve it?

Need more help?

Sign in for additional support options to quickly solve your issue