Add ad accounts and record delivery and spend

Register your advertising accounts, then enter or import the daily spend and results of each campaign.

Required permission: marketing.campaign.edit; ad accounts also need marketing.configure

Before you begin

Create the campaign first (see Plan a campaign and its structure). Adding or changing an ad account needs both marketing.campaign.edit and marketing.configure. Spend is entered by hand or by CSV file; the system does not pull it from the platforms.

Steps: add an ad account

  1. Open Marketing > Campaigns > Ad Accounts and press New.
  2. Choose the Platform (Facebook, Instagram, LinkedIn, TikTok, Snapchat, YouTube / Google, X / Twitter or Other) and enter the Name.
  3. Enter the Account id, Currency and Branch.
  4. Enter the Pixel / dataset / conversion id if you will send conversions back. See Track conversions.
  5. Paste the Access token if you have one. It is stored sealed and is never shown again. Leave it blank when you edit to keep the saved token.
  6. Choose the Status: Manual entry, Connected, Disconnected or Error. Only Connected turns on real calls to the platform.
  7. Keep Active ticked, then press Save.

Platform and Name are required: 'Platform is required.' 'Name is required.' Delete only switches the account off; it stays in the list with Active unticked.

Steps: enter one day of delivery

  1. Open Marketing > Campaigns > Delivery & Spend and press New.
  2. Choose the Date and the Campaign.
  3. Choose the Level: Campaign, Ad campaign, Ad set or Creative. Leave the item boxes empty at Campaign level.
  4. Choose the Platform if useful.
  5. Enter the Spend, Impressions, Reach, Clicks and Platform leads.
  6. Press Save.

There is one row per day per item. A second row for the same day and item is refused: 'That day is already entered for this item - edit it instead.'

Leads, orders and revenue are never typed here. They come from CRM, Sales and Finance.

Steps: import a CSV

  1. On Delivery & Spend press Import CSV and choose the file.
  2. The first row must be a header with: date, campaign, spend, impressions, reach, clicks, platform_leads, platform. Only date, campaign and spend are needed. campaign is the campaign code (CMP-0001) or its UTM tag.
  3. Add one row per day. For example, the header date,campaign,spend,impressions,clicks is followed by a row such as 2026-10-06,CMP-0001,450,12000,340.
  4. Read the message, for example '3 added, 0 updated' followed by any row problems such as 'Row 4: no campaign'. Importing the same file again updates the rows instead of repeating them.

Imported rows are at Campaign level and have Source Import. Commas inside quoted text are not supported, and up to 5,000 rows are read.

What happens next

The campaign record and Campaign ROI show the new spend, cost per click, click-through rate and cost per lead. Example: spend AED 450.75, 12,000 impressions and 340 clicks give a click-through rate of 2.8% and a cost per click of AED 1.33.

Why levels matter

The system never counts the same money twice. For each campaign it uses the most summary level you entered, starting with Campaign. If you enter AED 450 at Campaign level and AED 200 at Ad set level on the same day, the spend is AED 450.

Good to know

  • A row with a non-numeric spend in a CSV is still created with zero values and an error line. Check the message after importing.
  • Negative spend is not refused, and it makes the returns negative.
  • Lists show the newest 3,000 rows.