Skip to Content

FreeWheel

Deliver audience segments to FreeWheel (Comcast) for premium video and CTV advertising. Zeotap activates your warehouse-defined audiences by dropping segment files onto the FreeWheel-managed SFTP endpoint (sftp.fwmrm.net); FreeWheel ingests those files into the seat identified by your Network ID and exposes the segments for programmatic video targeting.

FreeWheel is a 3P Targeting and Connect channel. Both private destinations (restricted to a single Network ID / seat) and public destinations (visible to all FreeWheel networks) are supported.

Prerequisites

  • A FreeWheel account with access to the Targeting and/or Connect applications
  • An SFTP user and password provisioned by FreeWheel for your Data Provider account (format: <partner>_<dpid>, e.g. zeotap_518566)
  • Your FreeWheel-assigned Data Provider ID (DPID) — issued when your data-provider account is created
  • For private destinations, the Network ID (seat ID) of the FreeWheel network that should receive the audience

If you do not yet have these, contact your FreeWheel account representative to provision SFTP credentials and confirm your DPID.

Authentication

FreeWheel uses SFTP username + password authentication.

  1. In Zeotap, open Destinations and click Add Destination
  2. Select FreeWheel
  3. Enter the SFTP Username and SFTP Password issued by FreeWheel
  4. Click Test Connection to verify Zeotap can reach sftp.fwmrm.net with the supplied credentials

Configuration

FieldTypeRequiredDescription
Data Provider ID (DPID)TextYesYour FreeWheel-assigned Data Provider ID (example: 518566). Appears in every audience file name.
FreeWheel Network ID (Seat)TextConditionalNetwork ID that should receive the audience. Required for private destinations; leave blank when the destination is public.
Public DestinationToggleNoWhen enabled, the segment is made available to all FreeWheel networks. Network ID is not required.
SFTP HostTextNoFreeWheel SFTP hostname. Defaults to sftp.fwmrm.net.
SFTP PortNumberNoFreeWheel SFTP port. Defaults to 22.
Ingest FolderTextNoPath on the FreeWheel SFTP server where files are dropped. Defaults to sftponly/zeotap/files/audience/ingest/pending.

Target Settings

FieldTypeRequiredDescription
Data Source TypeSelectYesIdentifier carried in the file. Choose Visitor (FreeWheel Cookie ID) for web cookies or Device (IDFA / Google AAID) for mobile advertising IDs.

Supported Operations

Sync Modes

FreeWheel is an audience-activation destination. Standard data sync modes are not applicable.

ModeSupported
Upsert
Insert
Update
Mirror

Audience Sync Modes

ModeSupported
AddYes
MirrorYes
Remove
Upsert

FreeWheel does not expose a dedicated remove operation distinct from the file drop. Use Mirror when you need membership changes to be reflected authoritatively — Zeotap marks rows flagged as removed by the diff engine with a deletion indicator in the outgoing file.

Features

  • Field Mapping: No (row shape is fixed by the FreeWheel file spec)
  • Schema Introspection: No

How It Works

  1. Session — Zeotap opens an SFTP session to sftp.fwmrm.net:22 using the supplied username and password.
  2. File assembly — Each batch is serialized into FreeWheel’s CSV format:
    • Visitor (cookie) rows: userid,segmentid1,segmentid2,...
    • Device (mobile) rows: device_type_prefix,device_id,segmentid1,segmentid2,... where device_type_prefix is idfa (for Apple IDFAs) or google_advertising_id (for Google AAIDs). The prefix is taken from an explicit device_type field if present; otherwise inferred from the identifier casing (all-lowercase → google_advertising_id; upper/mixed-case → idfa).
  3. Compression — The file body is gzip-compressed, per the FreeWheel spec.
  4. File naming — Files follow FreeWheel’s naming convention:
    • Private: <data_source_type>_attr_<network_id>_<data_provider_id>_<YYYYMMDDHHMMSS>.csv.gz
    • Public: <data_source_type>_attr_<data_provider_id>_<YYYYMMDDHHMMSS>.csv.gz
  5. Atomic drop — Zeotap uploads the file with a .tmp suffix, then renames it to its final name once the transfer completes. FreeWheel treats the rename as the signal to begin ingestion.
  6. FreeWheel ingestion — FreeWheel moves the file through its internal folder pipeline: /pending/processing/complete (or /error on validation failure). Successful ingestion is typically reflected at your FreeWheel seat within one business day.

Mirror Mode Semantics

When Mirror is selected, Zeotap includes every row surfaced by the warehouse diff engine:

  • Rows marked added or changed are written as membership additions.
  • Rows marked removed are written with a trailing deletion indicator so FreeWheel treats them as removals at ingestion time.

File & Batch Limits

  • Max file size: 750 MB (pre-compression). Zeotap issues one file per batch; configure batch size in the sync settings to keep files under this limit.
  • Encoding: ASCII only (no double-byte encodings). Lines are terminated with \n.
  • Line content: one identifier per line, followed by the segment ID(s) the identifier belongs to.

Best Practices

  • Match your Data Source Type to the identifiers in your warehouse. Mixing visitor and device identifiers in a single sync is not supported — use separate destinations (or separate syncs) if you push both.
  • Use the default ingest folder (sftponly/<partner>/files/audience/ingest/pending) unless FreeWheel has provisioned a custom path for your account.
  • Test with a small audience first. FreeWheel validates the file asynchronously; a validation error will appear in the /error folder on the SFTP server rather than as an immediate sync failure.
  • Plan for the one-business-day ingest delay when coordinating campaign launches with audience refreshes.

Troubleshooting

SFTP connection fails

Verify the username and password exactly match what FreeWheel issued — both are case-sensitive. If the connection times out, confirm outbound TCP on port 22 to sftp.fwmrm.net is allowed from the Zeotap environment.

”network_id is required for private destinations”

Private destinations must specify a FreeWheel Network ID (seat). Either fill in the Network ID or enable the Public Destination toggle to make the segment available to all FreeWheel networks.

Files land in the /error folder

FreeWheel moves files that fail validation to /error. Common causes:

  • File name does not match the expected pattern (data source type, network ID, DPID, or close date is malformed)
  • Row format does not match the data source type (e.g. a cookie file contains a device_type_prefix)
  • Non-ASCII characters appear in identifiers
  • File exceeds 750 MB pre-compression

Inspect the error file in the SFTP /error folder for the specific validation message. Ask your FreeWheel representative if you see a validation message you do not recognize.

Segments not showing up in FreeWheel

Ingestion can take up to one business day after a successful drop. If more than a day has passed:

  • Confirm the file moved out of /pending and into /complete (not /error).
  • Verify the Network ID matches the seat you are targeting. For private destinations the segment is only visible to the specified Network ID.
  • If the destination is public, confirm the seat you are targeting has access to public FreeWheel segments.

Rows missing user or segment IDs

Zeotap skips rows that do not have a resolvable user identifier (one of user_id, cookie_id, sticky_id, device_id, idfa, aaid, or google_advertising_id) or that have no segment identifier (segment_id or segment_ids). Check your warehouse query and field mappings to confirm both columns are populated.

Wrong device type prefix inferred

When a Device sync infers the wrong prefix, add an explicit device_type column to your source query:

  • idfa (or ios, apple) → forces idfa prefix
  • google_advertising_id (or gaid, aaid, android) → forces google_advertising_id prefix
Last updated on