Skip to main content
All CollectionsData ConnectorsOther solutions
Enter offline or manual transactions in Google Analytics
Enter offline or manual transactions in Google Analytics
Ilona Norman avatar
Written by Ilona Norman
Updated over a week ago

In order to track the business results of your advertising Funnel integrates with Google Analytics. If you have done a good job with your UTM tagging and have a solid Google Analytics implementation on your web site you will be able to compare your Goals and Ecommerce Transactions with the related advertising cost on a channel or campaign basis.

While the typical Funnel customer has a focus on online events, it may in some cases be important to track leads or sales that did not occur on your website. The way to do this is by entering them into Google Analytics as Goals or Ecommerce Transactions using the Analytics Measurement Protocol. This is targeted to developers but you do not have to write code to use it. This article explains how you can use a Google Spreadsheet and a free Zapier account to enter offline Goals or Transactions without any programming.

Step 1 - Create a spreadsheet

Go to Google Sheets and create a new spreadsheet. On the first row enter column headings that will make sense for your transactions. Make sure to include at least a unique order/transaction id, and any other parameter that will vary for each transaction such as revenue. If you want to be able to attribute each order to different advertising sources include columns for source, medium and campaign. Once you decided on your columns, make at least one row of test data. An example may look like this:

Step 2 - Create a Zap

Go to Zapier, sign up if you're new to their service, and start by hitting the "Make a ZAP!" button.

Choose "Google Sheets - New Spreadsheet Row" as the trigger and follow the instructions to connect to your new spreadsheet.

For the Zap action choose "Webhooks by Zapier" and use the option "GET request". At this point you will have to configure the parameters that Zapier will send to Google Analytics whenever a new row appears in your spreadsheet. Use the + button to add parameters, and for each parameter enter the name manually in the left field, and use the button to select a value from your spreadsheet in the right field. Of course you may also enter constant values manually in the right field. In our example the configuration would look like this.

The parameters used in the example are:
cn: campaign name (or utm_campaign)

cm: medium (utm_medium)

cid: google client id. This would normally be the cookie from the visitors browser, but since we're offline it just has to be unique.
ti: transaction id. If you have an order number or similar it's a good choice. Otherwise make sure it's unique.

tr: transaction revenue
tid: the "Tracking Id" for your Google Analytics property, which you can find if you log in to Google Analytics.
t: the type of hit. In this case we're using "transaction", but "event" may be useful if you want to use Goals.
v: version, should be 1
cs: source (utm_source)
ds: data source. May be manual, crm, call center, or something else that describes the source of the transaction data.
cu: the currency for the transaction revenue. Should be the 3-letter currency code

The above should be enough in more cases, but all parameters are documented in the Measurement Protocol Parameter Reference

Step 3 - Testing

Once you have enabled your Zap, go back to your spreadsheet and add a new line to create your first transaction. Then log in to your Google Analytics account to make sure it shows up properly under "Conversions - Ecommerce". Please note that updates are not immediate. Depending on your Zapier account it may take up to 15 minutes for Zapier to pick up changes in your spreadsheet, and after that it typically takes a few minutes for Google Analytics to show new transactions in their reports.


Something to keep in mind is that you can not remove transactions from Google Analytics, even if you enter them by mistake. You may however use the Google Analytics "Data Import" feature to create refunds on specific transactions. 

This article shows one example of how to use the Analytics Measurement Protocol. A more common use case may be integration with your backend, but using Zapier goes a long way. In addition to manual entry with spreadsheets you could use this approach to create Goals or Transactions based on received emails, or events in the very large number of online services that Zapier supports.

Did this answer your question?