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.
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.
- Your production AppsFlyer iOS app ID in
id1234567890format. - 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.
Connect a Facebook account
Open Networks
Connect Facebook
Choose a connection mode
Name the account
Enter click settings
Enter Marketing API settings
Enter Conversions API settings
Map events and copy the click URL
Create the account
Get the Facebook credentials
The credentials you need depend on what the account should do.Get the ad account ID
You need this value for Marketing API campaign sync. It is optional for a Conversions API-only account.Open Meta Ads Manager
Copy the account ID
Keep the ID format
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.Open the business portfolio
Create a system user for PNLight
PNLight or another clear service name.Give the system user ad account access
Choose the Meta app
Select Marketing API permissions
ads_management. Select ads_read too if Meta shows it for your app.Copy the token
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.Open Events Manager
Copy the Data Source ID
Generate the access token
Copy the token
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:Click URL
When you enable Conversions API, PNLight gives you a tracked click URL for the Facebook account.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.Open Integration
Enter AppsFlyer credentials
Map lifecycle events
Enable the connection
trial_started, trial_converted, subscription_started, subscription_renewed, and subscription_refunded. You can add, rename, or remove mappings before saving.
Add a custom network or account
Use a custom setup when the traffic source is not connected through Facebook sync.Create the network
Add aliases
Add an account
Enter account details
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.
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.