> ## Documentation Index
> Fetch the complete documentation index at: https://clickflare.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Traffic Source Tokens Arriving Empty

> Campaign, ad or keyword columns are blank, or show the literal token text instead of a value. Fix the mapping between the platform's macros and ClickFlare's fields.

Visits are recording, but the columns that should identify the campaign, ad set, ad or keyword are empty — or contain the token text itself rather than a value.

Without these, you can see that traffic converted but not *which* traffic, which makes optimisation impossible and breaks cost matching.

## How the mapping works

A traffic source element in ClickFlare is a set of mappings. Each one says: *this platform macro fills this ClickFlare tracking field.*

The platform substitutes its macro at click time. ClickFlare stores whatever arrives in the field you mapped it to.

Two sides have to agree, and either can be wrong.

## Check in this order

<AccordionGroup>
  <Accordion title="1. Are the macros in the campaign URL?" icon="link">
    The mapping in ClickFlare does nothing on its own — the macros must actually be appended to the URL you put in the ad platform.

    ClickFlare builds this URL for you when you select the traffic source. If you hand-wrote the URL, or copied one from another campaign, the macros may be missing or belong to a different platform.

    Copy the campaign URL from ClickFlare fresh and paste it into the ad.
  </Accordion>

  <Accordion title="2. Do the macros belong to this platform?" icon="bullhorn">
    Every platform uses its own syntax. A Facebook macro pasted into a TikTok campaign is never substituted — it arrives as literal text.

    **This is the tell:** a column containing the macro itself rather than a value means the platform did not recognise it. A column that is simply empty usually means the macro is absent from the URL.

    Use the template for your platform rather than adapting another. See [How to Add a Traffic Source from template](/docs/en/tracking/how-to-add-a-traffic-source-from-template).
  </Accordion>

  <Accordion title="3. Does the platform populate that macro at all?" icon="circle-info">
    Not every macro is filled in every situation. Some are only substituted on certain campaign objectives, placements or ad formats, and some require the platform's own tracking to be enabled.

    If one macro is empty while the others populate, this is usually why. Check the platform's documentation for that specific macro before changing anything in ClickFlare.
  </Accordion>

  <Accordion title="4. Was the traffic source edited after launch?" icon="clock">
    Changing a mapping affects traffic from that point forward. Visits already recorded keep the values they arrived with, so a partially-filled report is expected after a mid-flight change rather than a sign of breakage.
  </Accordion>

  <Accordion title="5. Is the campaign using the traffic source you edited?" icon="tag">
    Traffic sources are reusable elements, and it is easy to edit one while the campaign points at a near-identical duplicate. Confirm the campaign references the element you changed.
  </Accordion>
</AccordionGroup>

## Why this breaks cost as well

Cost integrations match spend to campaigns using the platform's campaign ID. If that ID is not arriving, there is nothing to match against and cost stays at zero however correctly the integration is configured.

If both your identifier columns and your cost are empty, fix the tokens first — the cost problem usually resolves with them. See [Cost not pulling](/docs/en/troubleshooting/cost-not-pulling).

## Passing the data onward

Getting tokens *into* ClickFlare and passing them *out* to your offer are separate steps. If the network needs the ad or keyword alongside the click ID, that has to be appended to the offer URL as well.

See [How to Dynamically Pass Traffic Source Data to the Offer](/docs/en/tracking/how-to-dynamically-pass-traffic-source-tracking-info-to-the-offer).

## Related

<Columns cols={2}>
  <Card title="Traffic sources" icon="bullhorn" href="/docs/en/core-platform-concepts/what-is-a-traffic-source">
    What a traffic source element is and how mappings work.
  </Card>

  <Card title="Add a custom source" icon="plus" href="/docs/en/tracking/creating-a-traffic-source">
    Mapping macros for a platform with no template.
  </Card>
</Columns>
