External Final Page

The External Final Page feature lets partners (or you yourself) replace the internal PalDock FinalPage with their own, enabling a customized user experience or integration into a comparison page.

This is useful if you want to:

  • Keep full control over the user experience and branding.
  • Display additional offers or comparisons alongside PalDock results.
  • Integrate PalDock lead responses directly into your own website.

The feature works with both API (see Offer’s API integration) and iFrame submissions. When enabled, PalDock redirects the user to your external URL and provides a Detailed Response with all PingTree processing results. The data is delivered either in the API response, or as URL encoded query parameters in the redirect (for iframe flows, or when the API flow uses PalDock’s loader page).

Admins can decide whether to enable this option for API only, iFrame only, or both. You can also allow or exclude specific affiliates from using the feature.

How It Works

To activate the feature, you must enable it in the Offer settings (you can include or exclude specific affiliates). After you enable it in the Offer, the following steps need to be done:

1. Provide External Redirect Parameters

Include the following parameters in the API payload or form code:

  • external_redirect_url → The URL of your external page (for example https://yourdomain.com/result). This is used only when the user goes through PalDock’s loader page. If the external page uses its own loader, PalDock’s loader is not used, and your external page performs the redirect to external_redirect_url by itself.
  • external_redirect_results -> Enables or disables the detailed response (true or false), including which channels were successful and their redirect URLs and additional details.

2. Lead Processing

PalDock processes the lead across the pingtree channels (offers, non-exclusive, choice, auctions). For each item, PalDock records:

  • Product ID and Product Name (from the PalDock feed).
  • Channel ID and Channel Name and Type.
  • Status (accepted, rejected, pending).
  • Redirect URL returned by the channel.
  • Whether it was chosen (for choice channels).

The external page can choose to show either PalDock’s loader page or its own loader page while waiting for the details in the API response. In PalDock loader mode, the redirect to the external page in step 3) will always include query parameters. The external page can parse it based on query parameters or ignore them, show its own loader in the meantime, poll the API regularly, and once the response is ready, render the full result.

3. Response Delivery

The results of processing can be returned in two ways:

  • API response – Detailed Response is included in the JSON response under the items array. Used only in API.
  • Redirect – Parameters are flattened and passed as URL encoded query parameters in the redirect URL. It works in both iframe and API flows, and can be used when the external page wants to display PalDock’s loader page.

In both cases, you receive:

  • Overall lead status.
  • Number of items handled vs. total items.
  • List of successful items, including their channel ID (Channel IDs are shown in the PingTree editor)
  • Full breakdown of Pingtree results.

4. Display on Your Final Page

Your external page must be able to:

  • Parse the query parameters (for iFrame) or the JSON response (for API).
  • Match the received product and their channel IDs with your own feed or with the PalDock feed (easier).
    • Channel IDs are shown in the PingTree editor.
  • Render the results in your own design (e.g., comparison table, personalized offers).
  • Beware: if the result contains only one item and the channel uses priority redirect or is exclusive, you do not need to show the external FinalPage. You can redirect the user immediately. Query redirect handles this automatically and does not redirect to an external FinalPage in that case.

The redirect with query results occurs only after all items in the pingtree are handled.

Parameters

PalDock provides a consistent set of parameters in both API responses and Query responses.

General Parameters

  • id – PalDock internal ID of the lead.
  • external_id – External lead ID (if provided in request).
  • status – Overall lead status (approved, rejected, pending).
  • redirectUrl – Final redirect URL.
  • items_handled – Number of items already processed.
  • items_total – Total number of items in pingtree.
  • successful_items – List of successfully accepted items (comma-separated in query).
  • feed_id – ID of the data feed from which data should be taken.
  • feed_name – Name of the data feed.
  • feed_url – URL of the feed with data.

Item Parameters

Each product/channel entry in the Pingtree contains the following fields:

  • product_id – Product ID (from PalDock feed or partner mapping).
  • product_name – Product name (from feed or mapping).
  • channel_id – Internal PalDock ID of the channel.
  • channel_name – Name of the channel.
  • status – Status of processing for this item (accepted, rejected, pending).
  • type – Type of channel (offer, pingtree_nonex, pingtree_choice, auction).
  • redirect_url – Redirect URL returned by the channel.
  • chosen – Indicates whether the channel was selected on a Choice page (only for choice channel types).

API vs iFrame Differences

  • API response – Parameters are nested in the items array.
  • Query response – Parameters are flattened (not nested), but names keep the nesting convention (e.g., items[0].product_id → items_0_product_id). All URLs are encoded.

Connecting Product Data

The External Final Page feature provides detailed identifiers for each product and channel in the API response or query string. To display the correct product information on your external page, you need to connect this data with your product catalog.

You can do this in two ways:

Option 1: Use the PalDock Feed (Recommended)

If your comparison website already uses the PalDock product feed, the mapping is straightforward.

  • Each row in the PalDock feed has a unique product_id.
  • The API response includes the same product_id (and product_name), so you can directly align the two.
  • This ensures automatic updates and minimal maintenance.

Option 2: Map to Your Own Product Feed

If you do not use the PalDock feed (e.g., you maintain your own CSV or database), you must manually map PalDock identifiers to your internal IDs.

  • Use the product_id and product_name from the API response.
  • Create a mapping table that links PalDock’s product_id with your own product identifiers.
  • This requires more setup and ongoing maintenance.

Usually, the external FinalPage should show multiple offers: the successful offers from the PingTree, additional offers outside the PingTree, and optionally display ads (for example Google AdSense). You can also reuse the same data feed as in your basic comparison before the form is submitted. In that case, you can prepare hidden rows for each channel (including the channel ID) and reveal only the rows that are requested via query parameters or the API as successful.

Examples

API response

You can track the status of a lead through several methods. Full details are available on the API Integration page.

Detailed Response

{  
"id": "1234",  
"external_id": "4321",  
"status": "pending",  
"redirectUrl": "https://google.com",  
"items_handled": "2",  
"items_total": "3",  
"successful_items": ["1", "2"]  
"feed_id": 1,  
"feed_name": saas,  
"feed_url": "https://paldock.com/tenant/feed/saas/",  
"items": [    {      
"product_id": 1,      
"product_name": "P123",      
"channel_id": 1,      
"channel_id": "CH123",      
"status": "accepted",      
"type": "offer",      
"redirect_url": "https://google.com"    
},    

{      
"product_id": 2,      
"product_name": "P223",      
"channel_id": 2,      
"channel_id": "CH223",      
"status": "accepted",      
"type": "pingtree_nonex",      
"redirect_url": "https://google.com"    
},    

{      
"product_id": 3,      
"product_name": "P323",      
"channel_id": 3,      
"channel_id": "CH323",      
"status": "pending",      
"type": "pingtree_choice",      
"chosen": false    
}  
]}

Form response

?id=1234&
external_id=4321&
status=pending&
redirectUrl=https%3A%2F%2Fgoogle.com&
items_handled=3&
items_total=3&
successful_items=1,2&
feed_id=1&feed_name=saas&
feed_url=https%3A%2F%2Fpaldock.com%2Ftenant%2Ffeed%2Fsaas%2F&
items_1_product_id=1&
items_1_product_name=P123&
items_1_channel_id=CH123&
items_1_status=accepted&
items_1_type=offer&
items_1_redirect_url=https%3A%2F%2Fgoogle.com&
items_2_product_id=2&
items_2_product_name=P223&
items_2_channel_id=CH223&
items_2_status=accepted&
items_2_type=pingtree_nonex&
items_2_redirect_url=https%3A%2F%2Fgoogle.com&
items_3_product_id=3&
items_3_product_name=P323&
items_3_channel_id=CH323&
items_3_status=pending&
items_3_type=pingtree_choice&
items_3_chosen=false

Insights that
helps you grow

  • Release notes 2025/12/19
    We added country-based categorization. You can now categorize offers, integrations, and other items by a specific country, or keep them global across all markets. We also…
  • Release notes 2025/12/17
    More flexible lead rejection: based on validation rules, filters, or pingtree sales results, by source (iframe, API) or by partner (include / exclude). It is now possible to…
  • Case study: How Lender Orka Ventures Scaled Affiliate Operations
    Orka Ventures, an online lending group that wanted to scale fast across countries and onboard affiliates quickly. Their custom affiliate API and tracking layer soon…