Skip to main content

The Google Store Sales Improvements Conversions API Program for Offline Conversions

With LiveRamp’s Google Store Sales Improvements (GSSI) integration with Google Ads, LiveRamp can import your offline conversion data directly into Google Ads (rather than you having to put a third-party tracking tag on your site). Google matches the customer information tied to your conversion data with Google user information to create conversion reports in Google Ads. These reports provide advertisers with aggregated and pseudonymized conversion data that allows them to understand the value of their Google Ads campaigns. Ad exposure data does not leave the Google platform.

Note

The Google Store Sales Improvements Conversions API Program for Offline Conversions was formerly known as "the Google Store Sales Improvements Attribution Program".

This program also features the following additional capabilities:

  • Aligned Store Visit and Sales Measurement: Understand the relationship between store visits and store sales

  • Unlocked Smart Bidding Capabilities: Supports smart bidding for online conversions and store sales

  • Enhanced Reporting & Measurement: New features, like conversion lag reporting and data driven attribution

Note

Future enhancements will include conversion label segmentation.

GSSI is a Google-paid program, so there is no additional cost for brands and advertisers to use this program.

Note

Google must approve program participants. Eligibility is based on vertical (currently only Retail and QSR) and general requirements (technical thresholds). Contact your LiveRamp or Google rep to to confirm your eligibility and find out about getting approved for GSSI.

How Google Store Sales Improvements Works

  1. Users engage with your Google ads.

  2. Google estimates the number of people who visit your store based on data from users who are signed in and opted-in to sharing their location history.

  3. Google models visit to purchase rate, based on consumer surveys.

  4. Google models average order value based on advertiser uploaded transaction data.

  5. Google extrapolates the sample to the entire population.

  6. You will see conversion data in Google ads, usually 3-5 days after LiveRamp has received your data.

Note

Google only reports data when our high privacy and confidence thresholds are passed. Only aggregated and pseudonymized data are reported back.

Overview of Steps Involved

The following steps need to be performed to enable the attribution analysis in Google:

  1. You complete any necessary legal agreements with LiveRamp.

  2. LiveRamp emails you a list of questions about setting up the program and you send back the required setup information.

  3. You grant LiveRamp access to deliver data to your Google Ads account by performing steps in the Google Ads UI.

  4. LiveRamp creates a destination account in Connect in order for you to perform OAuth authorization prior to uploading your conversion data to Google.

  5. You perform OAuth authorization using the new destination account.

  6. You agree to the Custom data policies in the Google UI by performing the steps in step 3 of Google’s instructions, and then a conversion action is automatically created in your Google Ads account.

  7. If desired, create a Custom Variable.

  8. You upload a test file to LiveRamp so LiveRamp can confirm that Google will accept the file.

  9. You upload continuous conversion data from the last 90 days or less to LiveRamp, as required by Google’s algorithms for the Store Sales program.

  10. You activate the campaign.

  11. LiveRamp processes the data and delivers your data to your Google Ads account.

  12. You set up an automated data upload process so that new transaction data are uploaded every day.

  13. LiveRamp normalizes and hashes your PII, and delivers your data to your Google Ads account.

  14. You view the attribution analysis in Google Ads.

See the appropriate sections below for more information on performing these steps.

Provide LiveRamp with Setup Information

The LiveRamp technical team will send you a Google form to fill out that includes the required setup information:

  • Email address of Google Ads Admin User

    Tip

    To determine who the Google Ads Admin User is:

    1. Navigate to the specific MCC (My Client Center) account being used for upload

    2. Go to Tools > Setup > Account Access (the wrench icon in the upper right)

    3. Confirm the email address for an Admin user

    Note

    In the future, if the admin changes, please notify the LiveRamp team as to who the new admin will be, as the new admin will need to complete the OAuth step again.

  • MCC ID associated with your account on Google Ads.

Caution

Make sure that you are authenticating with the correct MCC-level Google Ads account number, and that you have “write” access to the account. LiveRamp will collect the MCC account number that the OAuth grantor is added to via the set-up form.

Grant LiveRamp Access to Your Google Ads Account

Before LiveRamp activates the Google destination account that will be used to distribute conversion data to Google, complete the self-service LiveRamp account linking process within the Google Ads UI to map the LiveRamp CMU account 637-789-1275 to your Google Ads advertiser account:

Note

If you've already provided LiveRamp access to this Ads Account as part of the workflow to enable the Google Store Sales Improvements program, you do not need to perform these steps.

  1. From Google Ads, select “Tools and Settings” and then select “Linked Accounts”.

    C_Distribute_First_Party_Data_to_Google-Tools_and_Settings_menu_selection.png
  2. Search for “LiveRamp” and then click Details.

    C_Distribute_First_Party_Data_to_Google-Details_button.png

    Note

    If "LiveRamp" does not appear in the search results, contact your Google representative to have them manually link the account to LiveRamp’s account ID (637-789-1275).

  3. From the dialog that apears, click Link LiveRamp.

    C_Distribute_First_Party_Data_to_Google-Link_LiveRamp_button.png
  4. From the Create New LiveRamp Linking dialog, click Authorize.

    C_Distribute_First_Party_Data_to_Google-Authorize_button.png
  5. Click Create data integration.

    C_Distribute_First_Party_Data_to_Google-Create_data_integration_button.png

    A success message appears:

    C_Distribute_First_Party_Data_to_Google-success_message.png

Perform OAuth Authorization

Once we’ve performed actions on our end to create the required destination account tile, the Google Ads admin user needs to perform OAuth authorization in Connect to grant LiveRamp permission to upload offline conversion data into your Google Ads account.

Note

The Google Ads admin user must be an admin on the MCC account LiveRamp is uploading data to.

  1. Log into Connect with the credentials received via email from LiveRamp.

  2. If your company is operating multiple accounts with LiveRamp, make sure that the correct account is selected (this is usually some variation on your company's name). You can change accounts by clicking anywhere in the account switcher area and then using the account drop-down list to select the desired account.

    C-Global_Nav_Announcement-account_switcher.png
  3. From the Connect navigation menu, select Destination Accounts to navigate to the Destination Accounts page.

    C_Onboarding-My_Destinations_menu-selection.jpg
  4. Locate the appropriate Google Store Sales destination account tile.

    Note

    You may have more than one tile if your company has additional data transactions with LiveRamp. For Google Store Sales, the tile name will be “[Your Company]” GA AW 2.0.

    GSSD DA Tile.jpg
  5. Click the More Options icon (the three dots) that appears when you hover over the lower-right corner of the tile, and then select Settings.

  6. In the Edit Account page, click Authorize.

  7. From the OAuth popup window that opens, enter the email associated with the Google Ads account.

  8. Click Allow.

  9. In the Edit Account page, click Save.

  10. Email googlestoresalesdirect@liveramp.com to confirm that you have completed the authentication process.

Create A Custom Variable

A Custom Variable can be created in your Google Ads account. See Google’s instructions on how to create or edit custom variables or contact your Google representative for assistance.

If you’ve created a Custom Variable and values, please provide them to your LiveRamp technical team.

Format the File

Before sending your conversion data to LiveRamp, make sure to strictly follow the guidelines listed below:

Note

Caution

If an uploaded file does not meet these requirements, you will need to reformat the file until it is formatted correctly.

  • Headers must be included in the exact order as listed below.

  • Fields must not have leading or trailing white space.

  • This program uses our Measurement Enablement workflow. Make sure to follow our recommended file limits for Measurement Enablement workflow files (such as a maximum of 500,000,000 rows per file and a maximum uncompressed file size of 50 GB).

  • Your conversion data file must use one of our allowed delimiters (commas, tabs, or pipes), and be one of our allowed file types (.csv, .tsv, .psv, or .txt).

  • Include all of the required columns listed below.

  • Unless values are required for a field, fields can be left blank if there is no data for the given row (do not include “N/A” or “null”).

  • The file must be rectangular. That is every row must have the same number of delimiters and columns of data.

Tip

To download an Excel file template that contains all possible columns and formatting instructions, click here.

After transferring your data into the file template, be sure to delete the row with the formatting instructions and save the file in one of our allowed file types (.csv, .tsv, .psv, or .txt) before uploading.

Once the file has been formatted correctly, upload the file to LiveRamp. See the “Upload the File” section below for more information.

Note

Once you set up the file format for an existing conversions program feed, try to keep the file format (such as the column headers or the column order) the same for all subsequent files. If you change the file format for an existing feed, create a support case before uploading the new file to ensure your existing feeds are not impacted. For more information, see "Changing the Format of an Existing File".

List of All File Columns

See the table below for a list of columns and formatting instructions:

Field Name

Column Required?

Values Required?

Notes

first_name

Yes

Yes (if name and postal address (NAP) is used as an identifier)

last_name

Yes

Yes (if NAP is used as an identifier)

address_1

Yes

Yes (if NAP is used as an identifier)

address_2

Yes

No

  • Include values in this column if you have additional street address info for a given row.

city

Yes

Yes (if NAP is used as an identifier)

state

Yes

Yes (if NAP is used as an identifier)

  • Must be a two-character, capitalized abbreviation ("CA", not "California" or "Ca").

zip

Yes

Yes (if NAP is used as an identifier)

  • ZIP codes can be in 5-digit format or 9-digit format (ZIP+4).

email_1

Yes

Yes (if email address is used as an identifier)

  • Must be plaintext.

  • If you have multiple emails for a consumer, send your best one in the “email_1” column.

email_2

Yes

No

  • Must be plaintext.

email_3

Yes

No

  • Must be plaintext.

email_4

Yes

No

  • Must be plaintext.

transaction_category

Yes

Yes

  • The conversion action for the transaction.

  • Can include up to 10 conversion actions per account.

transaction_timestamp

Yes

Yes

  • Corresponds to the date/time of the transaction in UTC - (example: “2017-02-07T13:25:00Z-0800" should be the time the conversion happened in UTC).

  • Standard formats:

    • yyyy-MM-dd

    • yyyy-MM-dd'T'HH:mm:ss'Z'-0000 (for example, 2021-06-04T10:01:00Z-0000)

  • Additional formats:

    • MM/dd/yyyy hh:mm:ss aa

    • MMM dd,yyyy hh:mm:ss aa OR MMM dd,yyyy

    • MM/dd/yyyy HH:mm:ss

    • yyyy-MM-dd HH:mm:ss OR yyyy-MM-dd

    • yyyy-MM-ddTHH:mm:ss OR yyyy-MM-dd

    • yyyy-MM-dd HH:mm:ss+z OR yyyy-MM-dd

    • yyyy-MM-ddTHH:mm:ss+z OR yyyy-MM-dd

transaction_amount

Yes

Yes

  • Do not include any (currency) symbols.

  • Format required: XXX.XX

  • Only include USD amounts. If your transaction data contains international currency amounts, convert your amounts to USD prior to sending your data.

phone_1

Yes

Yes (if phone number is used as an identifier)

  • Do not include any hyphens or parentheses.

  • Must be plaintext.

  • If you have multiple phone numbers for a consumer, send your best one in the “phone_1” column.

phone_2

Yes

No

  • Do not include any hyphens or parentheses.

  • Must be plaintext.

order_id

No

Yes (if this column is included in the file)

  • A unique ID (such as a transaction ID) that corresponds to the order that the particular item belongs to (this is often referred to as an “ordinal”). If the value is not unique, a partner may deduplicate some of these events when ingesting your conversion data.

  • To measure item-level events, the value will need to be a unique value for each item within a basket. LiveRamp recommends using the concatenated value of the order ID + product SKU. For example, if the  order ID is “123” and SKU is “456”, the “order_id” value would be “123456”.

  • Do not include special characters, currency symbols, or commas.

  • This field will not be used for GSSI, but is highly recommended as it is used for other programs.

custom_[field_name]

No

Yes (if this column is included in the file)

  • A “Custom Variable” set in Google Ads. The values within this field are referred to as “custom values”.

  • You can have up to a total of 20 custom values per each Custom Variable. At this time, Google is only allowing one Custom Variable.

  • Each row can contain only one custom value.

  • Allows you to group conversions by product groups, customer type, or conversion channels (e.g., in-store sales or phone sales), etc.

  • The custom field column heading must start with "custom_", followed by the field name. For example "custom_brand_name" would translate to a Custom Variable called “brand_name” in Google Ads.

  • This column is only leveraged for Google Store Sales Improvements.

ad_user_data

Yes (for UK and EMEA data)

No

  • This column is only required if the file contains UK or EMEA data.

  • Enter "granted" to confirm that the consumer has consented to the use of their data.

  • if no value is entered, LiveRamp will mark the event as "unspecified" on your behalf.

ad_personalization

Yes (for UK and EMEA data)

No

  • This column is only required if the file contains UK or EMEA data.

  • Enter "granted" to confirm that the consumer has consented to ad personalization.

  • if no value is entered, LiveRamp will mark the event as "unspecified" on your behalf.

Header Row Example

first_name|last_name|address_1|address_2|city|state|zip|email_1|email_2|email_3|email_4|transaction_category|transaction_timestamp|transaction_amount|phone_1|phone_2|order_id

Conversion Data Examples

Alex|Chen|44 Main Street|#12|San Francisco|CA|94100|alex@gmail.com|ac@ymail.com||||In-store|2014-03-31|99.99|1234567890||52389
Julian|Roodiger|55 Mission Street||San Francisco|CA|94500|julian@gmail.com||||PhoneSales|2014-03-30|55.55|2223334444||98740

Send Conversion Data to LiveRamp

To set up the integration, first send LiveRamp a test file that follows the format outlined below. The test file should contain only about 20 rows of data.

Once we’ve confirmed that Google can accept your test file, send a file that contains the most recent 90 days of continuous conversion data. In other words, provide a backfill file containing at least one transaction every day for the previous 90-days.

Once your campaign has started, send conversion data to LiveRamp at your preferred cadence (daily or weekly). Google and LiveRamp strongly recommend that you upload conversion files on a daily basis to provide the most up to date reporting and minimize any risks of data gaps.

Tip

Most customers automate this process to send files on a regular cadence.

Caution

The Google Store Sales program requires that at least 6,000 unique transaction events be uploaded over a 28-day period.

Conversion Data Guidelines

Each conversion data record must include at least one PII identifier (name and postal address, email, or phone) and the required conversion data:

  • Transaction category

  • Transaction timestamp

  • Transaction amount

Note

If you're sending data on EMEA and/or UK consumers, you must also include the "ad_user_data" and "ad_personalization" columns listed in the "Format the File" section above. For all other regions, these columns are optional. For more info on Google's consent policy, see this Google article.

If you are able to provide these additional fields, it is highly recommended that you do for better tracking and reporting:

  • Order ID (optional but recommended)

    Note

    The "order_ID" field will not be used for GSSI but is required for most other LiveRamp conversions programs.

  • Custom field

Do not include any other conversion data (such as quantity).

Make sure to also follow these additional guidelines:

  • Put your best email and phone in the first fields for those.

  • Avoid sending duplicate transactions (transactions already sent to LiveRamp). If you send weekly or monthly files, only send transactions that occurred since the previous file was sent.

  • Do not include conversions with a conversion date in the future.

Follow the instructions in the "Format the File" section for the sample file and all subsequent files.

Upload the File

Upload conversion data files using LiveRamp’s SFTP server or your SFTP server.

You can also have us pull files from an AWS S3 bucket or GCS bucket. See “Getting Your Data Into LiveRamp” for more information.

Caution

Files for Google Store Sales cannot be uploaded via Connect.

Once the file is uploaded, information on file processing status can be viewed in Connect (see "Check File Processing Status" below for more information).

Tip

Upload transactions on a daily basis to provide the most up to date reporting and minimize any risks of data gaps.

Most customers automate this process to send files on a regular cadence. Use the same SFTP subdirectory or S3 bucket that you used to upload your sample conversion data. Google strongly recommends that you upload conversion files on a daily basis to provide the most up to date reporting and minimize any risks of data gaps.

Check File Processing Status

You can check the status of the files you've uploaded on the Files page in Connect. See "Check the Status of an Uploaded File" for complete instructions.

Note

Once you've uploaded a file, it can take up to 20 minutes before the file appears associated with the appropriate audience(s) on the Files page. If the file does not appear after at least 20 minutes, create a support case.

Files for this program use our Measurement Enablement workflow, and so the column headings that display on the Files page will look different from the ones that display for files that use our Activation workflow.

Because the PII in the files is passed through (and not matched), the recognition rate will be zero.

When you open the details pane on the Files page, all of the stats for RampIDs will always show “0” since we are simply passing through the PII and not matching to RampIDs.

FAQs

Upload transactions on a daily basis to provide the most up-to-date reporting and minimize any risks of data gaps.

This typically takes 2-4 days after LiveRamp has received your data.

The lookback window is 90 days. Do not upload transactions that occured longer than 90 days ago.

The agreement enables you to:

  • Send transaction files that are not counted towards your Activation Agreement.

  • Participate in any of LiveRamp's "platform-paid offline attribution" programs, subject to mutual agreement between LiveRamp and the brand. These additional offline conversions programs include Google Campaign Manager Offline Conversions API, Pinterest, Bing, etc.

Those fees only apply if there are significant changes to file formatting that cause a file to fail or if a file is dropped in the wrong location. However, our team will reach out and offer the opportunity to correct the issue (in which case no fee would be applied). The pricing verbiage is standard language to remind participants to be mindful about file formatting and location drop.

Yes. Clients may have multiple MCC IDs because they have sub-brands with transaction data all coming over in one file feed.

Yes. Brands can use multiple conversion actions (up to 10) to differentiate among transactions in a file feed (i.e. retail store versus outlet). This is common with data among sub-brands as well.

If a brand is broadly approved, whether they want to enroll certain sub-brands as a separate advertiser is up to them. Contact your Google rep for more information.

Data files are exclusively used for store sales measurement and in combination with ad products used by you (such as Google Store Visits and Customer Match audiences).

You may take the file you are working with for the Google Campaign Managerprogram and perform the following actions in order to use it with Google Store Sales Improvements (see “The Google Campaign Manager Offline Conversions API Program for Offline Conversions” for more information):

  1. Add a “transaction_category” field in the order shown below. If desired, you can use one of your Floodlight custom variable (U variable) fields and rename the column to “transaction_category”.

  2. Change the column heading for "ordinal" to "order_id."

  3. Remove the following fields:

    • Conversion_Quantity

    • Floodlight custom variable IDs (“U1”, “U2”, etc.)

The modified file should have these fields in the order shown below:

  • first_name

  • last_name

  • address_1

  • address_ 2

  • city

  • state

  • zip

  • email_1

  • email_2

  • email_3

  • email_4

  • phone_1

  • phone_2

  • transaction_category

  • transaction_timestamp

  • transaction_amount

  • order_id

If you are interested in enabling the YouTube measurement feature enhancement, contact your Google rep to confirm eligibility and determine your allow-listing status. In regards to the setup, if YouTube sits under the same MCC used for Store Sales Improvements, then it can be enabled easily. If it sits under a separate MCC ID, then the MCC will have to be set up for Store Sales and the implementation steps will need to be completed again.