Skip to main content
— Setup walkthrough

Export your data to Google Sheets

Alva Digital Downloads exports your orders, your download activity and your product catalog as CSV files that open in Google Sheets. For new activity, a Shopify Flow workflow you build yourself adds a row to your sheet each time a file is downloaded or a purchase is delivered. Every export works on every plan.

How it works

Alva Digital Downloads has no direct Google connection. Its CSV exports cover your history, and a Shopify Flow workflow you build adds a row for each new download or delivery. A CSV is a snapshot, so export again for fresh numbers.

Open an export in Google Sheets

1. Export the CSV

In the Alva admin, click an export at the top of the page. Dates read dd-MM-yyyy HH:mm in your store's time zone.

  • Orders → Export Orders: one row per purchase, with customer, product, access status and license keys.
  • Orders → Export download activity: one row per download page visit or button click. In the dialog, optional From and To days in your store's time zone limit the range; click Export.
  • Products → Export catalog: one row per file, pack, link or license key pool on each product.
Screenshot needed

Alva Orders page with the Export download activity dialog open: From and To date fields filled with example dates and the Export button. Keep the page header with Export Orders and Export download activity visible behind it. No real customer data visible.

Export actions on the Orders page.

2. Import it into Google Sheets

Choose File → Import → Upload and select the CSV. Set Import location to Replace spreadsheet, or Insert new sheet(s) to keep your other tabs, and Separator type to Comma. Click Import data. Opening the CSV from Google Drive works too.

Screenshot needed

Google Sheets Import file dialog after choosing an Alva CSV: Import location set to Replace spreadsheet, Separator type set to Comma. Example file name only.

Google Sheets import settings.

3. Check the dates

If day and month look swapped, or dates stay as text, pick a day-first locale such as United Kingdom in File → Settings and import again.

What the download activity export contains

Columns: Date, Event, Customer Email, Customer Name, Order Number, IP Address, User Agent and Source. Event is Download page opened (a visit to the download page) or File downloaded (a click on a file or ZIP button on the thank-you page, order status page, customer account or download page). Older rows can also read Admin download: you downloading your own file from the Alva admin, which Alva no longer records.

A row is a visit or a click, not a download count: don't add up rows to count downloads.

What the catalog export contains

One row per delivery item on each product. A personalized (made-to-order) product gets one personalized row plus a row for each link attached to it; its license key pools aren't listed, because personalized purchases don't receive keys. A product with nothing attached gets one row. Link URLs are never exported.

  • Product title, Variant titles, Shopify product ID, Shopify variant IDs and Mapping active. Product titles come from Shopify; if Shopify is busy or the product was deleted, the export uses the title Alva last saw, or Unknown product.
  • Item type, Item name, File size (bytes) (a pack shows the total of its files) and Content type.
  • Buyers with access: distinct customers whose access is on, including orders still under fraud review.
  • Product downloads: clicks on the product's download buttons, repeated on each of its rows, not per file. Resetting a customer's download limits lowers it, and thank-you-page downloads made before the order finished syncing aren't included.

Variant titles lists the variants an item is delivered for, or says:

  • All variants: every variant of the product.
  • All other variants: every variant that another mapping of the same product doesn't list.
  • No variants (another mapping takes priority): this mapping delivers to no variant, because another mapping of the product wins.
  • Conflict (more than one mapping covers the same variants): two or more mappings tie for the same variants.
  • Blue (conflict): another mapping of the product also claims that variant, and the cell then starts with the Conflict label.
  • All other variants; plus: Green: the label, then the variants this mapping also lists. Parts are separated by semicolons.

Add new rows automatically with Shopify Flow

Build the workflow yourself in Shopify Flow: Alva's Digital file downloaded or Digital purchase delivered trigger, followed by the Google Sheets Add row to spreadsheet action. Suggested columns for downloads: Date, Order, Customer email, Product, File. For deliveries: Date, Order, Customer email, Products, Files (number of files).

File is the file clicked, or Multiple files for a ZIP or multi-file button, or Unknown file when the product has no files. Products shows the ZIP's delivery name (or a generated one), not the Shopify product title, except license-key-only products, which show the product title.

1. Prepare the sheet

Create the tab first, with a header row for your columns, starting in column A.

2. Add the trigger and the action

In Shopify Flow, click Create workflow. Choose Alva's Digital file downloaded or Digital purchase delivered trigger, then add the Google Sheets Add row to spreadsheet action.

3. Connect Google Sheets in Flow

When Flow asks, sign in to your own Google account and allow it to edit spreadsheets. Alva never sees that account.

4. Fill in the action and turn it on

Paste the Spreadsheet URL and type the Tab name exactly. In Row contents (comma separated), paste the line for your workflow as one line. Each value fills one column in your header row's order, and commas are stripped from text values so they can't split a column.

Downloads workflow (Date, Order, Customer email, Product, File):

{{ "now" | date: "%Y-%m-%d %H:%M" }},{{ order.name | replace: ",", " " }},{{ order.email | replace: ",", " " }},{{ product.title | replace: ",", " " }},{{ fileName | replace: ",", " " }}

Deliveries workflow (Date, Order, Customer email, Products, Files):

{{ "now" | date: "%Y-%m-%d %H:%M" }},{{ order.name | replace: ",", " " }},{{ order.email | replace: ",", " " }},{{ productNames | replace: ",", ";" }},{{ totalFiles | round }}

Customer email uses order.email because a guest order has no customer. If a value that starts with = shows up as a formula in your sheet, add | prepend: "'" to the text values, never to Date or Files. Click Turn on workflow.

Screenshot needed

Shopify Flow editor: Alva's Digital file downloaded trigger connected to the Google Sheets Add row to spreadsheet action. Show the Spreadsheet URL, Tab name and Row contents fields filled with example values. No real customer data visible.

The Google Sheets action in a downloads workflow.

What your customers see

Nothing changes for customers, but your sheets hold their personal data: names, emails and, in the activity export, IP addresses and browsers. Share them only with people who need them.

Limitations

  • Forward-only. No backfill: use the CSVs for anything before the workflow was on, or while it was off.
  • Append-only. A refund or revoked access doesn't remove a row.
  • No blank leading cells. Sheets writes each row from the first column with content.
  • Google rate limits. About 60 writes a minute per account, so a very busy store can see errors in Flow's run history. Those rows may be missing; the CSVs have them.
  • Resends add rows; some sales add none. A deliveries workflow adds a row for every successful download email, so resending one from the order page, the customer's resend page or Sidekick adds another row for that order. Made-to-order (personalized) products, and orders whose download email isn't sent (emails turned off or the send failed), add no deliveries row. Point-of-sale walk-in sales without a customer account add no row at all.

Troubleshooting

Symptom Likely cause Fix
Export download activity says “No download activity to export” No visits or clicks fall between your From and To days or, with no dates set, there is no activity yet. Widen the range, or leave both dates empty to export all activity.
Flow shows a 403 on the Google Sheets step The Google account connected in Flow can't edit the sheet. Give that account edit access, or reconnect it and allow edits.
Rows land in the wrong columns Blank leading cells, or a comma inside a value: each comma starts a column. Delete the blank cells, and add | replace: ",", " " to text values in Row contents.
Catalog downloads don't match the activity export Activity rows are visits and clicks; Product downloads counts clicks and drops after a reset. Compare against File downloaded rows only.

Frequently asked questions

Does Alva Digital Downloads sync to Google Sheets automatically?

Not directly. Alva has no Google connection of its own. Use the CSV exports for your history, and a Shopify Flow workflow you build yourself for new downloads and deliveries.

Do I need a paid plan to export my data?

No. All three exports and Alva's Flow triggers work on every Alva Digital Downloads plan, including Free.

Why does the activity export have more rows than I have downloads?

Each row is a download page visit or a download button click, so one buyer can make several rows. Filter Event on File downloaded to count clicks.

Does the catalog export include link URLs or license keys?

No. Links and license key pools appear by name only. The keys assigned to each order are in the orders export.

See also

Was this helpful?

Still stuck? Email us.

Last updated 2026-10-29