Skip to main content
Ad networks organize your paid acquisition data in PNLight. Use them to group campaigns by network and account, normalize attribution names, and configure the delivery settings your paid traffic uses.

How ad networks are structured

PNLight uses three levels for paid acquisition setup:
  • Network: a provider such as Facebook or a custom traffic source.
  • Account: a Facebook setup for campaign sync, Conversions API event delivery, or both; or a custom account inside that network.
  • Campaign: a synced or manual campaign that appears under the selected network or account.
Use this structure to keep attribution, postbacks, and reporting aligned across the dashboard.

Before you start

For a Facebook connection, prepare access in Meta before you add the account in PNLight.
  • You need admin access to the Meta business portfolio that owns the assets you connect.
  • You need ad account access and a Facebook Ad Account ID only when PNLight should import campaigns and spend through the Marketing API.
  • You need a Target URL. This is usually your app’s store URL, but can be a landing page, another tracker, or another valid HTTPS destination. When the project has an App Store ID, PNLight prefills the App Store listing URL for new accounts.
  • You need a Meta dataset or pixel and its Conversions API token if you want PNLight to send events through Meta Conversions API.
For AppsFlyer S2S event delivery, prepare:
  • Your production AppsFlyer iOS app ID in id1234567890 format.
  • An AppsFlyer S2S Security Token from Security Center > Tokens.
  • The PNLight subscription lifecycle events you want to send and the AppsFlyer event names that should receive them.
You can create a Conversions API-only Facebook account without a Facebook Ad Account ID. Add the Facebook Ad Account ID and Marketing API token later if you want to enable Marketing API campaign sync. PNLight uses the Data Source ID and Conversions API token only when you enable Conversions API event delivery.

Connect a Facebook account

1

Open Networks

Select a project and open Networks.
2

Connect Facebook

Click Connect Facebook.
3

Choose a connection mode

Choose Marketing API to import campaigns and spend, Conversions API to send mapped events to Meta, or Both. You can add the other capability later from account settings. The choice guides setup; PNLight determines active capabilities from the saved credentials.
4

Name the account

Add Account name so your team can recognize the setup later.
5

Enter click settings

Add Target URL. PNLight prefills it from the project App Store ID when available. PNLight opens the Target URL after it records an ad click. It is often an App Store URL, but can also point to another valid HTTPS destination.
6

Enter Marketing API settings

Add Facebook Ad Account ID and Facebook Access Token (Marketing API) if you want PNLight to import campaigns and spend from Meta.
7

Enter Conversions API settings

Add Data Source ID and Conversions API Token if you want PNLight to send mapped events to Meta.
8

Map events and copy the click URL

When you enable Conversions API, review which PNLight events map to Meta standard events, then copy the generated click URL template into your ads. PNLight needs the tracked click to attribute an event to the account and campaign before it can send the event to Meta.
9

Create the account

Save the account. PNLight validates the credentials you entered and creates the tracked click URL. If Marketing API credentials are present, PNLight also imports campaigns and spend.
Campaigns can use the account Target URL, or set their own campaign Target URL when one campaign needs a different destination. In the campaign form, that field is labeled Redirect URL override.

Get the Facebook credentials

The credentials you need depend on what the account should do. Every Facebook account also needs a Target URL. Use Both when the same Facebook setup should import campaign data and send conversion events.

Get the ad account ID

You need this value for Marketing API campaign sync. It is optional for a Conversions API-only account.
1

Open Meta Ads Manager

Open the ad account that runs the campaigns you want to sync.
2

Copy the account ID

Copy the numeric ad account ID from the account selector or account settings.
3

Keep the ID format

You can paste the ID as act_123456789 or 123456789.

Get the Marketing API access token

Create a system user token for PNLight. Do not use a short-lived Graph API Explorer token.
1

Open the business portfolio

Open Meta Business Settings and select the business portfolio that owns the ad account.
2

Create a system user for PNLight

Open Users > System users and click Add. Name the user PNLight or another clear service name.
3

Give the system user ad account access

Select the system user, click Add assets, choose Ad accounts, and select the ad account you will add to PNLight. Grant access that allows PNLight to read campaigns, ad sets, ads, and insights.
4

Choose the Meta app

Click Generate new token and select the Meta app that belongs to the same business portfolio. If you do not have an app yet, create one in Meta for Developers and connect it to this business portfolio.
5

Select Marketing API permissions

Select ads_management. Select ads_read too if Meta shows it for your app.
6

Copy the token

Generate the token and copy it immediately. Paste it into Facebook Access Token (Marketing API) in PNLight.
Meta reference: Marketing API authorization.

Get the Data Source ID and Conversions API token

Use these values only when you want PNLight to send mapped events to Meta Conversions API. They must be added together.
1

Open Events Manager

Open the dataset or pixel that should receive PNLight events.
2

Copy the Data Source ID

Copy the pixel or dataset ID from the data source details. PNLight labels this value Data Source ID.
3

Generate the access token

Open the Conversions API settings for the data source and generate an access token.
4

Copy the token

Paste the ID into Data Source ID and the token into Conversions API Token in PNLight.
Meta reference: Conversions API get started.

Event mapping

PNLight sends Conversions API events only when a PNLight event is mapped to a Meta standard event. PNLight starts new Facebook Conversions API accounts with these mappings: Review these mappings before you continue. You can add mappings, remove mappings, or change the Meta event for each PNLight event. You can also change mappings later from the account settings or override them for a campaign when one campaign needs different event delivery.

Click URL

When you enable Conversions API, PNLight gives you a tracked click URL for the Facebook account.
Use this URL as the destination URL in Meta ads. PNLight records the click, keeps the Meta campaign values, and redirects the user to the account or campaign Target URL. Without a tracked click, PNLight cannot attribute a later event to the account and campaign, so it skips Conversions API delivery.
For a Conversions API-only setup, the tracked click URL lets PNLight associate later events with the clicked Meta campaign even when Marketing API campaign import is not enabled.

Connect AppsFlyer S2S events

Use AppsFlyer S2S events when you want PNLight to send selected subscription lifecycle events to AppsFlyer for users with AppsFlyer attribution.
1

Open Integration

Select a project, open Integration, and click Configure on AppsFlyer S2S events.
2

Enter AppsFlyer credentials

Add AppsFlyer App ID and S2S Security Token. PNLight stores the token securely and does not show it again after you save it.
3

Map lifecycle events

Add one row for each PNLight subscription lifecycle event you want to send. Choose the Platform event and enter the AppsFlyer event name that should appear in AppsFlyer.
4

Enable the connection

Keep Enabled on when the credentials and mappings are ready. Turn it off to pause delivery without deleting the settings.
PNLight starts with common mappings such as trial_started, trial_converted, subscription_started, subscription_renewed, and subscription_refunded. You can add, rename, or remove mappings before saving.
AppsFlyer S2S delivery requires the app to send AppsFlyer attribution with an AppsFlyer user ID (AppsFlyer UID) through the SDK. Events can show Waiting for attribution until PNLight receives that identifier.

Add a custom network or account

Use a custom setup when the traffic source is not connected through Facebook sync.
1

Create the network

In Networks, click Add network and enter the network name and key.
2

Add aliases

Add attribution aliases such as provider-specific names or normalized labels that PNLight should treat as the same network.
3

Add an account

Open the network row and click Add account.
4

Enter account details

Add Account name, optional External account ID, and Target URL. PNLight prefills the Target URL from the project App Store ID when available.

Configure network settings

Open a network from the table when you need to manage shared delivery settings. Use the network page to:
  • Rename the network.
  • Update attribution network aliases.
  • Define default system event postbacks.
  • Define default app event postbacks.
  • Map built-in PNLight events to Facebook standard events when you use Facebook Conversions API.
Facebook event mapping applies to built-in PNLight events, such as install, trial_started, and subscription_started. For custom SDK events sent with logEvent, use app event postbacks.

Configure account settings

Open an account when you need account-specific click and delivery settings. Use the account page to:
  • Rename the account.
  • Set or change the account Target URL (Default redirect URL for custom accounts). Campaigns use it when they do not have their own Target URL.
  • Copy URL for your Ad for Facebook campaign destinations.
  • Add or change the Facebook Ad Account ID before enabling Marketing API.
  • Update the Marketing API access token.
  • Update the Data Source ID and Conversions API token.
  • Turn Send events to Facebook Conversions API on or off.
  • Review Conversions API delivery for delivered, failed, and skipped events from the last 48 hours.

Review sync health

The Networks table shows a warning icon next to an account when the latest campaign or spend sync failed. Hover the icon to read the latest sync error. Use the warning to decide whether you need to refresh the Marketing API token, update Meta permissions, or check that the ad account is still accessible. For Facebook accounts, copy the generated URL for your Ad exactly as shown and use it as the destination URL in Meta. The URL includes Meta macros for campaign, ad set, ad, placement, and site source values. PNLight preserves that click context for reporting and postbacks.

After setup

  • Open Campaigns and sync or review the campaigns for that account. A campaign can optionally set its own Target URL; in the campaign form, this field is labeled Redirect URL override. When it is empty, PNLight uses the account Target URL.
  • Use ad network and ad campaign filters across Analytics, Customers, and Events.
  • Keep attribution aliases current when your provider sends a new network label.
  • Turn on Conversions API only after the Data Source credentials and event mapping are ready. The account settings show Conversions API delivery outcomes from the latest 48 hours; use Events to inspect individual attempts.
  • Open Events or a customer profile to check AppsFlyer S2S delivery status for mapped events.
Use Campaigns after you connect an account to review enabled campaigns, costs, postbacks, and campaign metrics.