Skip to content
Documentation hero background

CSV Uploads

What is CSV Upload?

CSV Upload allows you to import campaign performance data directly into Flyweel as an alternative to API integrations. Use this feature to consolidate historical data, track custom metrics like Bitcoin costs, and import data from platforms without native API support.

Unified Analysis: CSV uploads appear as “CSV Imports” in the platform filter alongside Google Ads and Meta Ads, allowing seamless cross-platform comparison in AdGrid.

Prerequisites

Before uploading a CSV file, ensure you have:

  • A Flyweel account with an active subscription
  • Campaign data formatted according to the column specifications below
  • CSV file saved with UTF-8 encoding (standard for Excel and Google Sheets)
  • File size under 10MB (split larger files by date range)

How Do I Upload a CSV File to Flyweel?

Uploading a CSV file takes just a few minutes.

Navigate to AdGrid

Open the AdGrid Campaign Manager in your Flyweel dashboard

Open Upload Dialog

Click the Upload CSV button in the filter sidebar to open the file selector

Select Your File

Choose your prepared CSV file from your computer. The dialog shows the filename and size for confirmation.

Upload and Process

Click Upload to submit the file. Flyweel validates the data and displays a confirmation with the row count imported.

View Imported Data

Select CSV Imports in the platform filter to view your uploaded campaign data in AdGrid.

Required CSV Columns

Your CSV file must include these columns with exact header names (lowercase with underscores):

ColumnTypeFormatExample
campaign_idStringUnique identifiercamp_12345
campaign_nameStringDisplay nameSummer Sale 2024
dateDateYYYY-MM-DD2024-07-15
impressionsIntegerWhole number150000
clicksIntegerWhole number3750
ctrDecimal0-1 range0.025
costDecimalCurrency amount1250.50
cpmDecimalCost per mille8.33

Column Names Are Case-Sensitive: Headers must match exactly as shown above. Use lowercase letters with underscores. Spaces or different casing will cause validation errors.

Optional CSV Columns

Enhance your data with these optional columns:

ColumnTypeFormatExampleUse Case
conversionsIntegerWhole number125Track conversion counts
cost_btcDecimalBitcoin amount0.0042Crypto advertising spend
account_nameStringAccount identifierMain AccountGroup by data source
currencyStringISO 4217 codeUSD, EUR, GBPMulti-currency tracking

Organise by Source: Use the account_name column to differentiate data from multiple platforms within a single CSV. For example: “TikTok Campaigns”, “Affiliate Network”, “Legacy Google Ads”.

Sample CSV File

Here’s a correctly formatted CSV example:

campaign_id,campaign_name,date,impressions,clicks,ctr,cost,cpm,conversions,account_name
camp_001,Summer Sale 2024,2024-07-15,150000,3750,0.025,1250.50,8.33,125,Main Account
camp_001,Summer Sale 2024,2024-07-16,145000,3625,0.025,1200.00,8.28,118,Main Account
camp_002,Brand Awareness Q3,2024-07-15,200000,2000,0.01,1500.00,7.50,50,Main Account
camp_003,Crypto Campaign,2024-07-15,80000,1600,0.02,0,0,30,Bitcoin Network

Data Validation

Flyweel validates your CSV during upload to ensure data quality.

Validation Rules

  • Required columns: All eight required columns must be present
  • Date format: Must be valid ISO 8601 (YYYY-MM-DD)
  • Numeric values: Must be valid numbers without currency symbols or commas
  • CTR range: Values should be between 0 and 1 (decimal, not percentage)
  • No empty rows: All rows must contain data for required columns

Common Validation Errors

Error MessageCauseSolution
Missing required columnColumn header not found or misspelledCheck spelling and case (must be lowercase)
Invalid date formatDate not in YYYY-MM-DD formatReformat dates in spreadsheet
Invalid number in costText or symbols in numeric fieldRemove currency symbols, commas, and spaces
CTR out of rangeCTR entered as percentage (e.g., 2.5)Convert to decimal (2.5% = 0.025)
File too largeCSV exceeds 10MB limitSplit file by date range

Updating Existing Data

To update previously uploaded data:

  1. Create a CSV with the same campaign_id and date combinations
  2. Include all required columns with updated values
  3. Upload the file—existing records are automatically updated

Partial Updates: You can update specific date ranges by including only those dates. Records not in the new file remain unchanged in your dashboard.

Best Practices

Data Preparation

  • Consistent IDs: Use the same campaign_id format across all uploads for the same campaign
  • Complete rows: Include all required columns for every row
  • UTF-8 encoding: Save as UTF-8 to preserve special characters (default in modern spreadsheets)
  • No BOM: Ensure your file does not include a Byte Order Mark if exporting from older systems

Large Datasets

For files with more than 50,000 rows:

  1. Split into multiple files organised by date range (e.g., monthly files)
  2. Upload sequentially, waiting for each to complete
  3. Verify row counts match your source data in the upload confirmation
  4. Use the account_name column to keep data organised

Multi-Source Data

When consolidating data from multiple platforms:

  • Use unique campaign_id prefixes (e.g., tiktok_camp_001, affiliate_camp_001)
  • Set account_name to identify the source platform
  • Maintain consistent naming across uploads for accurate trend analysis

Viewing Uploaded Data

After uploading:

  1. Navigate to AdGrid Campaign Manager
  2. Open the platform filter dropdown
  3. Select CSV Imports to view only uploaded data
  4. Or combine with other platforms for cross-channel analysis

Your CSV data integrates fully with Flyweel’s features:

  • Filter and search by campaign name, date range, or account
  • Generate reports including CSV data alongside API-synced campaigns
  • AI analysis treats CSV data identically to connected platforms

Troubleshooting

Upload Failures

If your upload fails:

  1. Check file size is under 10MB
  2. Verify the file is saved as CSV (not .xlsx or .numbers)
  3. Open the file in a text editor to confirm comma separation
  4. Check for hidden characters or BOM markers from older software
  5. Ensure all required columns are present with correct names

Data Not Appearing

If uploaded data does not appear in AdGrid:

  1. Wait 1-2 minutes for processing to complete
  2. Refresh the page
  3. Verify the platform filter includes “CSV Imports”
  4. Check the date range in your filter includes your uploaded dates
  5. Review the upload confirmation for any warnings

Incorrect Values

If values appear incorrect in the dashboard:

  1. Verify decimal formats use period (.) not comma (,) as separator
  2. Check CTR is decimal (0.025) not percentage (2.5%)
  3. Ensure date format is YYYY-MM-DD
  4. Review the currency column if costs seem wrong
  5. Check for leading/trailing spaces in campaign_id

Duplicate Data

If you see duplicate campaigns:

  1. Verify campaign_id values are consistent across uploads
  2. Check for invisible character differences (copy-paste from different sources)
  3. Review account_name values for unintended variations

Frequently Asked Questions

What data can I import via CSV to Flyweel?

You can import campaign performance data including campaign ID, campaign name, date, impressions, clicks, CTR, cost, and CPM. Optional fields include conversions, Bitcoin costs (cost_btc), account name for grouping, and currency code.

What is the maximum file size for CSV uploads?

Flyweel supports CSV files up to 10MB per upload. For larger datasets, split your data into multiple files organised by date range and upload them sequentially.

Can I use CSV uploads alongside Google Ads and Meta Ads?

Yes. CSV uploads work seamlessly alongside API integrations. Uploaded data appears as “CSV Imports” in the platform filter alongside Google Ads and Meta Ads for unified analysis.

How do I format the CTR column correctly?

CTR must be a decimal between 0 and 1, not a percentage. Convert percentages by dividing by 100. For example: 2.5% becomes 0.025, 15% becomes 0.15.

Can I track Bitcoin advertising costs?

Yes. The optional cost_btc column allows you to track campaign costs in Bitcoin alongside fiat currencies. This is useful for crypto-native ad networks and affiliate programs.

How do I update previously uploaded data?

Upload a new CSV file with the same campaign_id and date combinations. Flyweel automatically updates existing records with the new values.

Can I import data from multiple platforms in one CSV?

Yes. Use the account_name column to differentiate data sources. Set values like “TikTok Campaigns” or “Affiliate Network” to group campaigns by their source.

How quickly does CSV data appear in Flyweel?

CSV data typically processes within 1-2 minutes. Once processed, data appears immediately in AdGrid under the “CSV Imports” filter.

What happens if my CSV has formatting errors?

Flyweel validates your CSV during upload and displays specific error messages. Fix the identified issues in your spreadsheet and re-upload the corrected file.

Can I delete uploaded CSV data?

Yes. Navigate to Settings > Data Management, locate your CSV import in the history, and click Delete. This removes all data from that specific upload.

Next Steps

Once you have uploaded your CSV data:

  1. Explore AdGrid: Use the AdGrid Campaign Manager to analyze CSV data alongside API-connected campaigns
  2. Connect APIs: Add Google Ads or Meta Ads for real-time data alongside historical CSV imports
  3. Generate Reports: Use Reports & Analytics to include CSV data in automated reports

Need Help? Contact our support team at team@flyweel.co for assistance with CSV uploads.

Ready to get started?

Start optimizing your ad spend today with Flyweel.