The Campaign Record

Modified on Fri, 12 Jun at 5:40 PM

1. What Is a Campaign Record?

The central object in Advvy — everything connects to it.

Campaign Record
Primary record · One per campaign initiative · Manually created or converted from Brief
A Campaign Record is the primary record in Advvy. It acts as the single source of truth for a media initiative — centralising the client, product, media plan, fees, workflows, approvals, and reporting into one connected environment. Every other entity in the system — flightings, MBAs, expenditure plans, import jobs, invoices, and external integrations — either belongs to or is directly triggered from a Campaign.
Object Type
Standard Entity Record
Created By
Manual creation or Campaign Brief conversion
Key Constraint
One active media plan per Campaign at a time
Hierarchy Role
Standalone, or Parent / Child
Primary Capabilities
Campaign Plan+ · Expenditure Plan · MBA generation · SMD/Pegasus sync · Workflow automation · Client Portal visibility
⚠️
One media plan at a time. Each Campaign Record supports only one active media plan ingestion. If a new media plan is synced, it replaces all existing flight and fee data. To run multiple media plans simultaneously, use a Parent + Child Campaign structure.

2. How Campaigns Are Created

Two supported methods — manual creation and Brief conversion.

Option 1 — Manual Creation
1Navigate to Advvy Agency → Campaigns
2Click + New from the ribbon
3Complete all required fields
4Click Save — Campaign created in Draft status
Option 2 — Convert from Campaign Brief
1Open the Campaign Brief record
2Click Convert to Campaign from the ribbon
3Campaign created in Draft with fields pre-filled from Brief
4Review, update, and Save
FieldRequired?Notes
Campaign NameRequiredMust be clear and unique for identification
Campaign CodeConditionalAuto-generated on save if field is locked; manually entered if unlocked. Must be unique.
Start Date / End DateRequiredRepresents the live campaign period. Push start dates slightly earlier if loading into SMD.
ClientRequiredCannot be changed after save. Confirm correct Client before creating.
ProductsOptionalMultiple products are supported. Save the record first — a Products table then appears on the record, allowing multiple products to be added. The initial Product lookup field is a starting point only.
Campaign BudgetRequiredTotal planned budget; used for Expenditure Plan calculations
CurrencyRequiredDrives all financial calculations on the record
BriefOptionalLinks to a Campaign Brief if one exists
StatusAutoDefaults to Draft on creation. Managed via status lifecycle.
Client field is permanently immutable after save. This is by design — the Client determines billing structure, contact lists, and portal access. If the wrong client is selected, the Campaign must be archived and recreated.
Form Layout & Field Visibility

The fields displayed on a Campaign record and their order are controlled by the Form Layout setting. This is configured per environment and determines which fields appear on the main form. The possible values are:

Unified Interface
Brand & Workflow
Brand
Business Unit
Primary

If a user reports that a field is "missing," it is likely present but on a different tab (check Details or Properties) or hidden under the current form layout configuration. Do not assume the field doesn't exist — confirm the active form layout first.

3. Campaign Tabs — Deep Dive

Every tab on the Campaign Record and what it contains. 20 tabs total.

Core Record Tabs
Overview
General information and metadata: Campaign Name, Code, Start/End Dates, Client, Products, Budget, Currency, Brief. Also houses the Timeline (chronological audit), Available on Portal toggle, Agency Controls, and Governance fields (Job Number, Purchase Order).
Details
Campaign configuration and relationships. Define Parent Campaign. Manage Campaign Type, Primary Objective, Reference Name/Code, Country, Funding Source, Status Details. Configure Target Audiences, Workflows, Brands, Automations, Form Layout setting. Custom fields (agency-specific) appear here.
Media Summary
Aggregated media and fee data from Campaign Flightings post-sync. Includes Media and Fees Summary (Gross, Net, Fees, Charges, Rebates, Taxes, Total) and Media Split Table (MBA-level breakdown by media type).
Campaign Plan+
Gantt-style visual of all flightings. Expandable by Media Type → Medium → Flight. Supports Day / Week / Month / Year views. Budget summaries per media type. Export to PDF/PNG. Primary entry point for MBA generation.
MBA
All MBAs linked to this Campaign. Multiple MBAs can exist per Campaign (e.g. one per market or product). Generate, review, submit for approval. Versioning (superseding/replacing) is auto-managed based on filter criteria matching.
Insights
Shows monthly variance splits by media type: Planned, Approved, Difference, and Difference %. A quick at-a-glance view of how approved spend tracks against the planned budget across each media channel.
Contacts & Classification
Campaign Contacts
Linked agency and client contacts. Used for MBA approval email distribution, portal notification triggers, and workflow communication automation.
Brands
M2M relationship between this Campaign and Brand records (a1a_brand). Multiple brands can be associated with a Campaign via this tab. Brands carry their own Code, Colour, and External Code fields for integration purposes.
Products
M2M relationship between this Campaign and Product records. This tab becomes available after the initial save. Multiple products can be added here. Each product is linked at the campaign level for brand-level reporting and rate card matching.
Media Data (Import & Sync)
Campaign Flightings
Weekly flight records auto-generated on every media plan sync. One record per week per flight line. Contains Start/End Date, External ID, Finance ID, Plan ID, SMD/Pegasus codes, Impressions, Clicks, Views, Conversions, Position/Placement. Read-only — never edit manually.
Campaign Fee Flightings
Weekly fee allocation records auto-generated on sync alongside Flightings. Captures Fee Type, Allocated Amount, Channel, Classification, Fee Payload identifiers. Links to Market, Medium, Fee Type, MBA, Media Type. Read-only — never edit manually.
Campaign Import Jobs
Data which goes from the media plan and gets synced into Advvy. Each job logs the sync timestamp, user, status (Created / Processing / Success / Error), flight and fee counts, plan version, and payload validation. Use the Reload action on any prior job to restore that sync state.
Campaign Plan Lines
The raw line-level data extracted from the media plan during an import. Each line carries a Plan ID, JSON Payload, and links back to the Campaign Import Job and Import Job Detail that generated it. Acts as the intermediate layer between the import job and individual flight records.
Campaign Actuals
Post-campaign actual spend and delivery figures reconciled against planned data. Captures Billing Month, Gross/Net/Fees/Charges amounts, External ID, Finance ID, and media delivery metrics. Used for actuals-vs-planned variance analysis.
Financial & External Integration
Campaign Rate Card Items
Where rate cards (fee structures) are kept. Each item holds a Grouping, Label, Media Type, Media Sub Type, Medium, Product, Rate Type, and up to 12 value fields (Value 1–12). Drives fee calculations applied during media plan processing.
Campaign Queue Items
Data currently housed in Advvy which gets pushed across to various external systems (SMD/Pegasus etc). Each queue item specifies a Data Source (Planning Data, MBA Planning Data, Media Actuals, Other), target flighting types, markets, billing month, and error details if the push fails.
Admin & Housekeeping
Tags
Freeform labels for grouping and filtering Campaigns across views and reports. No constraints — add any tags relevant to the environment's taxonomy.
Documents
Attached files (briefs, creative assets, contracts, sign-off documents). Accessible to users with appropriate permissions.
Audits
Full field-level audit log of all changes to the Campaign Record — timestamps and user attribution on every edit. Essential for dispute resolution and compliance checks.
Background Processes
System-level async jobs running against this Campaign record (Power Automate flows, plug-in jobs, batch processes). Used for troubleshooting stuck or failed automation. Most users never need to access this tab — it is primarily a support/admin tool.

4. Entity Relationship Mapping

All entities that belong to, link from, or are generated by a Campaign Record — verified against the Advvy Dataverse metadata.

⬆ Reference & Lookup Entities (Campaign looks up to these)
Client
Many-to-One · Required
account
Master Client
Many-to-One · Optional
a1a_masterclient
Campaign Brief
One-to-One · Optional
a1a_campaignbrief
Campaign Type
Many-to-One · Optional
a1a_campaigntype
Primary Objective
Many-to-One · Optional
a1a_campaignobjective
Branch / Agency
Many-to-One · Optional
businessunit
Current Workflow
Many-to-One · Optional
a1a_mediaworkflow
Workflow Template
Many-to-One · Optional
a1a_mediaworkflowdefinition
Target Audiences
Many-to-One · Optional (×2)
a1a_audience
Contacts
Optional
contact / systemuser
Funding Source
Many-to-One · Optional
a1a_fundingsource
↕ all entities connect here ↕
Campaign Record
Primary Entity · a1a_campaign
↔ self-referential: Parent Campaign
↕ generates & owns ↕
⬇ Child Records — Auto-Generated on Media Plan Sync
Campaign Flightings
One-to-Many · Auto on sync
a1a_campaignflighting
Campaign Fee Flightings
One-to-Many · Auto on sync
a1a_campaignfeeflighting
Campaign Import Jobs
One-to-Many · Auto on sync
a1a_campaignimportjob
Campaign Plan Lines
One-to-Many · Auto on sync
a1a_campaignplanline
Campaign Actuals
One-to-Many · Auto
a1a_campaignactual
⬇ Child Records — Manually Generated or Linked
MBAs
One-to-Many · Manual generation
a1a_mba
Invoices
One-to-Many · Generated
a1a_invoiceio
Child Campaigns
One-to-Many · Self-referential
a1a_campaign (child)
Workflow Activities
One-to-Many · Assigned
a1a_mediaworkflow
Campaign Rate Card Items
One-to-Many · Configured
a1a_campaignratecarditem
Campaign Queue Items
One-to-Many · System-generated
a1a_queueitem
↔ Many-to-Many Relationships
Brands
M2M via junction table
a1a_brand ↔ a1a_brand_a1a_campaign
Products
M2M · Added via Products tab
a1a_product (multiple per Campaign)
Lookup / Reference
Primary (Campaign)
Auto-generated (sync)
Manually generated / linked
Structural / system
M2M relationship
Entity Detail: Campaign Flightings
AttributeDetail
How CreatedAutomatically generated on every media plan sync. Never created manually.
FrequencyOne record per week of media activity per flight line
Key FieldsStart/End Date, External ID, Finance ID, Plan ID, SMD/Pegasus Codes, Impressions, Clicks, Views, Conversions, Position/Placement, Ad Category
Linked ToCampaign · Client · Market · Medium · Media Type · MBA
Replaced On Sync?Yes — each new sync replaces all previous flight records for the Campaign
Entity Detail: Campaign Fee Flightings
AttributeDetail
How CreatedAutomatically generated on media plan sync alongside Flightings
Key FieldsStart/End Date, Fee Type, Allocated Fee Amount, Channel, Classification, Fee Payload identifiers, External System Codes
Fee Types CapturedStandard agency fees · Data fees · Verification fees · Tech/Platform fees · Custom client-defined categories
Linked ToCampaign · Client · Market · Medium · Fee Type · MBA · Media Type
Entity Detail: Campaign Import Jobs
AttributeDetail
How CreatedAutomatically created every time a media plan is synced into Advvy. One job per sync event.
Status ValuesCreated → Processing → Success or Error
What It CapturesTimestamp, initiating user, Plan Version, media flight count (expected vs. actual), fee flight count (expected vs. actual), payload validation results, error details
Rollback Method 1Re-sync an older Excel file — Advvy overwrites current data with the older version
Rollback Method 2Open a prior Import Job → click Reload in the ribbon. Restores exactly the data from that sync.
When to UseCampaign Plan ≠ Excel plan · Sync failure · Incorrect sync run · Need to revert a change
Entity Detail: Campaign Queue Items
AttributeDetail
PurposeHouses data currently in Advvy that is queued to be pushed out to external systems (SMD, Pegasus, etc.)
Data Source OptionsPlanning Data · MBA Planning Data · Media Actuals · Other
Key FieldsBilling Month Start/End Date, Content Start/End Date, Data Source, Flighting Type Selections, Markets, Finance ID, External ID, Error Details, Manually Processed flag
Linked ToCampaign · Client
When to UseTroubleshooting failed external pushes · Checking what data is pending dispatch · Re-processing failed queue items
Entity Detail: Campaign Rate Card Items
AttributeDetail
PurposeStores rate card and fee structure configurations against a Campaign. Each item represents a specific rate for a media type/product combination.
Key FieldsGrouping, Label, Media Type, Media Sub Type, Medium, Product, Rate Type, Value 1–12 (decimal fields for rate values)
Linked ToCampaign · Client · Media Sub Type · Media Type · Medium · Product · Rate
Relationship to FeesRate card items drive the fee calculations applied when processing fee flightings during media plan sync

5. What a Campaign Record Lets You Do

Capabilities unlocked by the Campaign Record across planning, financials, approvals, and operations.

Media Plan Management
Sync media plans from Excel via the Advvy Add-in. Visualise with Campaign Plan+ (Gantt). Review flight-level data in related tabs. Roll back syncs via Import Jobs.
Financial Control
Aggregated spend in Media Summary. Generate Expenditure Plans. Track fee allocation through Fee Flightings. Reconcile invoices against planned budgets. Rate cards drive fee calculations.
MBA Generation & Approval
Generate MBAs from filtered Campaign Plan+ selections. Submit through approval workflow. Clients approve/reject via Client Portal. Versioning auto-managed.
SMD/Pegasus Integration
Flightings carry SMD and Pegasus codes for external booking. Queue Items manage the outbound push. Data transfers post-sync for downstream reconciliation.
Workflow Automation
Attach workflows via Details Tab. Activities tracked with List, Timeline, and Kanban views. Progress drives the Campaign's health status indicator.
Client Portal Visibility
Toggle "Available on Portal" to share campaign data with clients. Triggers automatic notifications. Logs approver and timestamp.
Parent / Child Hierarchy
Assign a Parent to group multiple media plans. Child campaigns roll up spend, flighting, and fees to Parent for consolidated reporting.
Reporting & Insights
Campaign Plan+ Gantt exports to PDF/PNG. Media Summary shows financial position. Insights tab shows monthly planned-vs-approved variance by media type. Parent roll-ups give total-initiative visibility.
Audit & Compliance
Every field change logged in Audits. Every sync logged in Import Jobs. MBA lifecycle tracked through status history. Portal activation timestamped with approver attribution.

6. How the Campaign Connects Across the Advvy System

System-wide integration points — internal tools, external platforms, and the Client Portal.

Internal — Advvy Add-in
Excel Media Plan Sync
The Advvy Excel Add-in connects directly to a Campaign. Users download reference data, build the plan in Excel, and sync back. Each sync creates a Campaign Import Job and overwrites all existing Flighting and Fee Flighting records.
Internal — Campaign Plan+
Visual Planning & MBA Generation
Campaign Plan+ reads from Campaign Flightings to render the Gantt view. Users filter and generate MBAs from the filtered selection. Filter criteria is stored on the MBA record for matching and superseding logic.
Internal — Expenditure Plan
Budget Management
Accessible from the Campaign Record. Uses Campaign-level budget and fee data to provide financial planning and variance tracking against the synced media plan.
Internal — Client Portal
Client Visibility & MBA Approvals
Toggling "Available on Portal" shares Campaign data with the client. When an MBA is submitted, the client receives an email link to review, comment, approve, or reject in their portal. All actions log back to the Campaign.
External — SMD / Pegasus
Booking & Reconciliation
Campaign Flightings store SMD and Pegasus-specific codes from the media plan sync. Campaign Queue Items manage what gets pushed out, when, and to which system. Push start dates slightly earlier for correct SMD ingestion.
Internal — Workflows
Operational Governance
Workflow instances attached via Details Tab. Each workflow drives Activities visible under Workflow Activities tab. Completion status drives the Campaign's health indicator.
End-to-End Campaign Lifecycle Flow
Step 1
Campaign Created
Manual or Brief conversion
Step 2
Media Plan Synced
Via Advvy Add-in (Excel)
Step 3
Flightings Generated
Weekly flight + fee records
Step 4
Plan Reviewed
Campaign Plan+ Gantt
Step 5
MBA Generated
From Campaign Plan+ filter
Step 6
Client Approves
Via Client Portal
Step 7
Data to SMD/Pegasus
Via Queue Items

7. Parent & Child Campaign Hierarchy

Managing multi-market, multi-phase, or multi-product campaign structures.

Parent Campaign
  • Acts as a container and reporting layer
  • Does not ingest media plans directly
  • Aggregates data from all linked Children
  • Shows Child Campaigns tab once a child is linked
  • Roll-up includes: spend, fees, flighting, Media Summary totals
Child Campaign
  • Behaves like a standard Campaign operationally
  • Holds its own media plan and syncs
  • Linked to Parent via Details Tab → Parent Campaign
  • Can be linked at any stage of the lifecycle
  • Changes at Child level do not auto-update the Parent
Use CaseParent ExampleChild Structure
Multi-MarketGlobal Retail Campaign 2025AU · NZ · US (one child per market)
Multi-PhaseBrand Relaunch 2025Phase 1 – Awareness · Phase 2 – Consideration · Phase 3 – Conversion
Multi-ChannelSummer Sale CampaignDigital · OOH · TV · Radio · Social
Multi-ProductClient Annual Brand CampaignProduct A · Product B · Product C
⚠️
Do not sync media plans to Parent Campaigns. Media plans must always be synced at the Child level. Syncing to a Parent with active children causes data inconsistency in roll-up reporting.

8. CRUD Reference — Campaign & Related Entities

What can be created, read, updated, and deleted on each entity from within the Campaign context.

EntityCreateReadUpdateDeleteNotes
Campaign RecordClient field immutable after save. Archive instead of hard-delete where possible.
Campaign FlightingsAUTOAuto-generated on sync. Do not create or edit manually.
Campaign Fee FlightingsAUTOAuto-generated on sync alongside Flightings. Read-only.
Campaign Import JobsAUTOCreated automatically on every sync. Reload action available.
Campaign Plan LinesAUTOIntermediate data from import jobs. Read-only.
Campaign ActualsAUTOPost-campaign actuals data. Read-only in normal operation.
Campaign Queue ItemsAUTOSystem-generated for outbound pushes. Can be manually processed or flagged.
Campaign Rate Card ItemsRate card configuration. Managed by admins or Advvy team.
MBAsGenerated from Campaign Plan+. Superseding is automated.
Brands (M2M)Associate/dissociate brands via Brands tab.
Products (M2M)Multiple products per Campaign. Available after initial save.
Child CampaignsLinked via Details Tab. Removing excludes from roll-up immediately.
Workflow ActivitiesProgress updates drive Campaign health status.
InvoicesLinked to Campaign for billing reconciliation.
Documents / TagsStandard attachment and tagging. No constraints.

9. Known Quirks, Edge Cases & Internal Notes

Behavioural nuances the support and product teams should be aware of.

  • Media plan replacement on sync: Every sync overwrites all existing Flighting and Fee Flighting data. If a user syncs the wrong file, use Import Jobs → Reload to restore the prior sync, or re-sync the correct Excel file. Do not attempt to manually recreate flightings.
  • Client field is permanently immutable: Once saved, the Client cannot be changed on any Campaign. The only resolution is archiving the Campaign and creating a new one. Inform users of this constraint before they save a new Campaign.
  • Multiple products require a save-first workflow: The initial Product field on the creation form is a single lookup. To add multiple products, the user must save the record first — the Products tab then becomes available and allows M2M product associations.
  • Missing fields? Check form layout and tabs: The Form Layout setting (Unified Interface / Brand & Workflow / Brand / Business Unit / Primary) controls which fields appear on the main form. If a field seems missing, it is likely on the Details tab or Properties tab, or hidden under a different form layout. Do not assume the field doesn't exist.
  • Campaign Code locking: If the Campaign Code field is locked in the UI, it is auto-generated by the system on save. Do not force a manual value — this can cause integration mismatches with SMD/Pegasus.
  • SMD start date offset: Users should push Campaign start dates slightly earlier than the actual campaign period when loading into SMD. SMD ingestion requires a processing buffer. Document the specific offset per environment if configured.
  • MBA superseding logic: Automation is triggered by identical filter criteria used in Campaign Plan+ — not by the underlying data values. If a user regenerates an MBA with the same filter, the previous MBA is automatically set to Superseded. This is expected but can surprise users who expect both to remain active.
  • Parent Campaign — no direct media plan: Parent Campaigns are reporting containers only. If a user tries to sync a media plan to a Parent, it will overwrite any roll-up data. Always confirm whether a campaign is standalone, Parent, or Child before advising on sync workflows.
  • Portal toggle confirmation popup: When "Available on Portal" is toggled ON, a confirmation popup appears and automated notifications are sent to all linked Client Contacts. Toggling back OFF removes access but does not unsend the notification email.
  • Custom Fields: Custom fields on the Details Tab are agency-specific and require Advvy Support to configure. Direct all custom field requests to the Advvy Support team.

Key Takeaways

1
The Campaign Record is the primary entity in Advvy — every media plan, financial record, approval, workflow, and external integration connects to it.
2
Each Campaign supports only one active media plan at a time. A new sync replaces all existing Flighting and Fee Flighting data. For multiple simultaneous plans, use the Parent + Child hierarchy.
3
Multiple products are supported per Campaign via a M2M relationship. Save the record first — the Products tab then appears and allows additional products to be associated.
4
Campaign Flightings and Fee Flightings are auto-generated on sync — they must never be created or edited manually. Campaign Import Jobs log every sync and support rollback via the Reload action.
5
The Client field cannot be changed after save. This is the most common source of user error — confirm the correct Client before creating any Campaign.
6
Campaign Queue Items manage outbound data pushes to external systems (SMD/Pegasus). Campaign Import Jobs manage inbound data from the media plan. These are the two data flow mechanisms to understand for integration troubleshooting.
7
If a user reports a missing field, check the form layout setting and alternative tabs (Details, Properties) before assuming the field doesn't exist. The Form Layout field controls field visibility across the record.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article