Skip to main content
Campaigns show acquisition performance for paid traffic. Use manual campaigns when the traffic source is not connected through an ad network account.

Use the campaigns page

1

Open Campaigns

Select a project and open Campaigns.
2

Review synced campaigns

Check campaign names, network or account data, and enabled status.
3

Update costs

Enter or review costs when spend data needs correction.
4

Configure postbacks

Set postback behavior for campaigns that need event delivery.
5

Use campaign filters

Filter analytics and customer views by campaign when you need channel-level analysis.

Manual campaigns

Manual campaigns let you track traffic from ad networks, affiliate partners, newsletters, influencers, or any other source that can use a campaign URL. PNLight records the click, redirects the user to your destination URL, attributes users when the app reports the click, and sends postbacks for matched events. Manual campaigns are different from synced Facebook campaigns: Use Ad networks for Facebook setup.

Create a manual campaign

1

Open Campaigns

Select a project and open Campaigns.
2

Create the campaign

Click New Campaign.
3

Enter campaign details

Add Campaign Name. Add Start date and End date when the campaign has a planned reporting window.
4

Save the campaign

Click Create.
5

Open campaign settings

Open the campaign from the table.
6

Set the redirect URL

Enter Redirect URL override. This is where PNLight sends the click after it records it.
7

Copy the campaign URL

Copy URL for your Ad and use it as the destination URL in your ad network or partner system.
A manual campaign must have Redirect URL override before you use URL for your Ad in live traffic. Without a redirect URL, PNLight cannot send the click onward.
You can leave Start date or End date blank for open-ended campaigns. Set only Start date for campaigns that are already running, or only End date when you know the cutoff date.

Configure the ad URL

The manual campaign URL includes pnlAdsCampaignId. PNLight uses that value to connect clicks, installs, events, costs, postbacks, and analytics to the campaign. Add the parameters your traffic source can provide to the generated URL. PNLight stores those parameters with the click and forwards them to the redirect URL.
Use stable parameter names that you can reuse in postbacks, such as sub_id, click_id, partner, creative, placement, or utm_campaign. When PNLight redirects the user, it keeps the campaign URL parameters and adds deep_link_value with the PNLight click ID. Your app or deep-link handler can use that value when it needs to associate the install with the click.
If your traffic source already appends tracking parameters, keep them on URL for your Ad. They become available for postback URL substitution.

Configure postbacks

Postbacks send event notifications from PNLight back to an ad network, affiliate platform, or internal tracking endpoint. PNLight sends postbacks only for users attributed to the campaign. Open a manual campaign and use the postback sections: For each postback, enter:

Substitute parameters in postback URLs

Use placeholders in query parameter values when the receiving system needs values from the original click URL.
PNLight replaces: Placeholders are replaced only inside query parameter values. Missing values stay unchanged in the final URL, so check the receiving system for unreplaced placeholders during testing.

Inherit or override synced campaign delivery settings

Synced Facebook campaigns can inherit delivery settings from the connected network account. This keeps postbacks and event mapping consistent across many campaigns. Use Override on the campaign when one campaign needs a different setup for:
  • System event postbacks.
  • App event postbacks.
  • Facebook event mapping.

Enter campaign costs manually

Manual campaign costs power spend, CPI, CPT, CAC, ROI, ROAS, and cohort payback views. Enter costs after you create the campaign.
1

Open the campaign

Open Campaigns and select the manual campaign.
2

Set the reporting range

Update Start date or End date if the campaign dates changed. Leave either field blank when the campaign should stay open-ended.
3

Choose the cost dates

Use the date picker in Costs data to choose the dates you want to edit.
4

Enter daily spend

Fill the cost amount for each day. Use the copy action next to a day to fill future dates with the same amount.
5

Use monthly or total distribution

Enter a month total or full campaign total when you want PNLight to distribute spend across the selected dates.
6

Save the campaign

Save the form to update analytics and campaign metrics.
You can also click Import from CSV. Use a two-column CSV file with date,cost rows and no header row. Dates must use YYYY-MM-DD, and costs must be decimal currency values.

Verify the setup

After you save the campaign, test the full flow before buying traffic:
  • Open URL for your Ad with sample parameters and confirm that it redirects to Redirect URL override.
  • Confirm the redirected URL includes the parameters you expect.
  • Install or open the app from the test flow and confirm the user appears in Customers with the campaign attribution.
  • Trigger one system event or app event that has a postback.
  • Open the customer profile and check whether the postback was sent.
  • Review Campaigns, Analytics, and Cohorts to confirm spend, installs, revenue, and ROAS use the campaign.

Common checks

  • Manual campaigns use URL for your Ad with the correct pnlAdsCampaignId.
  • Synced campaigns come from the correct ad network and account.
  • Manual campaigns have Redirect URL override before live traffic starts.
  • Disabled campaigns are excluded from filters and analytics where expected.
  • Costs match the reporting period you are reviewing.
  • Postback event names match the system event or SDK app event you want to send.
  • Event mappings are configured on the ad network or campaign when Facebook Conversions API depends on them.