Send data through the UI as a CSV

Upload a CSV file to CloudZero to create or update a Unit Cost Metric or an Allocation Stream. About 5 minutes for the upload, plus up to 24 hours for ingest. If you're not sure which stream type fits your use case, see Send unit cost and allocation data.

Prepare your CSV

Each row of your CSV represents one measurement at one point in time. The first row must list column names. You can use any names; you'll map them to CloudZero fields during upload.

ColumnUnit Cost MetricAllocation StreamNotes
TimestampRequiredRequiredAny common date/time format
Unit valueRequiredMust be greater than 0
Allocation valueRequiredMust be greater than 0
Element nameRequiredThe entity each row applies to (team, product, customer)
Filter columnsOptionalOptionalUp to 5; each value filters the row to a specific subset of spend

For example, an Environment filter column with values production and development lets you send separate measurements for each environment in the same CSV, even when other fields are identical.

Maximum file size is 3MB.

Sample CSVs

Unit Cost Metric (track cost per customer order, filtered by engineering team):

DateEngineering TeamNumber Of Orders
2024-09-01Leonardo2717
2024-09-01Raphael2779
2024-09-01Michelangelo6242

Allocation Stream (split a shared database cost across products):

DateTeamDatabase Writes
2024-09-01Email100045
2024-09-01Messaging1000600

Upload through the UI

  1. Navigate to Settings > Telemetry Streams, then select Create New Stream.

  2. Choose your stream type:

    • New Unit Cost Metric for cost-per-X tracking
    • New Allocation Stream for splitting shared costs
Create New Stream options showing Unit Cost Metric and Allocation Stream
  1. Configure the stream:

    • Name (cannot be changed after saving). Up to 256 characters: letters, digits, underscores, periods, or hyphens. For example, engineering-team-orders.
    • Description (optional)
    • Granularity: Daily (default) or Monthly for unit cost; Hourly, Daily (default), or Monthly for allocation. Cannot be changed after saving. Finer-grained data is aggregated up automatically.
    • Fill gaps in time? (optional): carries each value forward into missing timestamps. For example, monthly values of Jan: 20, Feb: 23, (no March), Apr: 25 fill in March: 23.
  2. Upload your CSV file.

  3. Map columns to CloudZero fields:

    • Timestamp: your date/time column
    • Unit value or Allocation value: your measurement column
    • Element name (Allocation only): your entity column
    • Target Dimensions (optional): map each filter column to a Dimension. Select + to add up to 5. Cannot be changed after saving.
  4. Review the CSV Reference Table for errors. Edit cells in place, remap columns, or upload a new file if anything looks off. Select Export to CSV to keep a copy of any edits.

CSV Reference Table showing column mappings and validation
  1. Select Save.

After upload

Your stream appears on the Telemetry Streams page with Pending status. Within 24 hours, the status changes to Available and your data is ready to use:

  • Unit Cost Metrics appear in Analytics Dashboards under Unit Metrics > [your stream name] and can be queried in plain English in AI Hub.
  • Allocation Streams can be referenced in Splitting Shared Costs using AllocateByStreams.

Update or replace data

To add records to an existing stream or replace existing ones, upload a new CSV from the stream's details page.

CloudZero compares each row in your new CSV to existing records:

  • If everything except the value matches, the existing record is replaced.
  • If it doesn't match anything, the row is added as a new record.

For the full update procedure, ingest status meanings, error troubleshooting, and stream deletion, see Manage and troubleshoot streams.

ℹ️

Have questions or feedback? Reach out to your account manager.