📘
Kargo is a digital advertising platform that helps brands and publishers run programmatic and direct-sold campaigns across premium inventory. It provides solutions for audience targeting, measurement, and optimization, supporting identity-driven advertising use cases.
Product Type: Advertising
Integration Type: Starter Kit & ID Sync
Event Source Type: Web
Event Scope: Full-Funnel Events
- Sends server-side full-funnel events to Kargo for reporting and activation.
- Uses Kargo’s
puid identity to populate lex_id for event matching.
- This starter kit only sends events when a Kargo
puid has been synced and is present on the event payload.
- Coordinate with Kargo to allowlist your domain for credentialed CORS requests to the Kargo sync endpoint.
- Kargo accepts custom event names. Use consistent naming to ensure accurate reporting.
- Event name length cannot exceed 100 characters.
- The
params object can include a maximum of 20 keys.
- Each
params key cannot exceed 100 characters.
- Each
params value cannot exceed 300 characters.
-
Sync Available: Yes
-
Required for Starter Kit: Yes
-
Prerequisites: Requires Kargo to allowlist your domain for CORS on crb.kargo.com and return credentialed CORS headers.
-
Documentation: See Additional Kargo Sync Documentation
- Captures Kargo’s
puid identifier used for event matching.
- Stores the identifier in first-party storage for a configurable duration.
- Adds the identifier to server-side events under
context.providers.kargo.puid.
- Without the identifier from the sync, events will be filtered and not sent to Kargo.
- To collect the sync values (e.g.,
puid), you must implement a Kargo ID sync. Refer to the following documentation to complete the setup: Kargo - ID Sync Guide.
- Ask your Kargo representative for the following credentials:
PARTNER_ID (Kargo partner ID)
- From the integration library, add a Kargo integration. Then, fill out the Connection Parameters:
| Connection Parameter | Description |
|---|
PARTNER_ID | The partner ID of the Kargo account you are sending data to. |
- MetaRouter provides all of the event mappings that Kargo integrations typically require. You may add custom events, parameters, or mappings in accordance with Kargo’s requirements.
- In the Pipelines tab, add your Kargo integration.
- Select the correct integration revision
- Click Add Integration to finalize deployment.
Global mappings will be applied to all events. If your parameter names do not match the Expected Inputs provided, you will need to overwrite the Inputs provided with your own.
| Output Key | Description | Expected Input |
|---|
partner_id Required | String: Kargo partner identifier for routing and reporting. | $$PARTNER_ID$$ |
client_referer | String: Referrer URL of the page where the event occurred. | context.page.referrer |
page_url | String: URL of the page where the event occurred. | context.page.url |
| Output Key | Description | Expected Input |
|---|
event Required | String: Name of the event being sent to Kargo. | Enrichment – hardcoded value identify |
params Required | Object: Custom parameters sent to Kargo for this event. | traits |
params.lex_id Required | String: Kargo user identifier used for event matching. | context.providers.kargo.puid |
| Output Key | Description | Expected Input |
|---|
event Required | String: Name of the event being sent to Kargo. | Enrichment – hardcoded value page |
params Required | Object: Custom parameters sent to Kargo for this event. | properties |
params.lex_id Required | String: Kargo user identifier used for event matching. | context.providers.kargo.puid |
| Output Key | Description | Expected Input |
|---|
event Required | String: Name of the event being sent to Kargo. | Enrichment – hardcoded value products_searched |
params Required | Object: Custom parameters sent to Kargo for this event. | properties |
params.lex_id Required | String: Kargo user identifier used for event matching. | context.providers.kargo.puid |
| Output Key | Description | Expected Input |
|---|
event Required | String: Name of the event being sent to Kargo. | Enrichment – hardcoded value product_list_viewed |
params Required | Object: Custom parameters sent to Kargo for this event. | properties |
params.lex_id Required | String: Kargo user identifier used for event matching. | context.providers.kargo.puid |
| Output Key | Description | Expected Input |
|---|
event Required | String: Name of the event being sent to Kargo. | Enrichment – hardcoded value product_clicked |
params Required | Object: Custom parameters sent to Kargo for this event. | properties |
params.lex_id Required | String: Kargo user identifier used for event matching. | context.providers.kargo.puid |
| Output Key | Description | Expected Input |
|---|
event Required | String: Name of the event being sent to Kargo. | Enrichment – hardcoded value product_viewed |
params Required | Object: Custom parameters sent to Kargo for this event. | properties |
params.lex_id Required | String: Kargo user identifier used for event matching. | context.providers.kargo.puid |
| Output Key | Description | Expected Input |
|---|
event Required | String: Name of the event being sent to Kargo. | Enrichment – hardcoded value product_added |
params Required | Object: Custom parameters sent to Kargo for this event. | properties |
params.lex_id Required | String: Kargo user identifier used for event matching. | context.providers.kargo.puid |
| Output Key | Description | Expected Input |
|---|
event Required | String: Name of the event being sent to Kargo. | Enrichment – hardcoded value product_removed |
params Required | Object: Custom parameters sent to Kargo for this event. | properties |
params.lex_id Required | String: Kargo user identifier used for event matching. | context.providers.kargo.puid |
| Output Key | Description | Expected Input |
|---|
event Required | String: Name of the event being sent to Kargo. | Enrichment – hardcoded value cart_viewed |
params Required | Object: Custom parameters sent to Kargo for this event. | properties |
params.lex_id Required | String: Kargo user identifier used for event matching. | context.providers.kargo.puid |
| Output Key | Description | Expected Input |
|---|
event Required | String: Name of the event being sent to Kargo. | Enrichment – hardcoded value checkout_started |
params Required | Object: Custom parameters sent to Kargo for this event. | properties |
params.lex_id Required | String: Kargo user identifier used for event matching. | context.providers.kargo.puid |
| Output Key | Description | Expected Input |
|---|
event Required | String: Name of the event being sent to Kargo. | Enrichment – hardcoded value payment_info_entered |
params Required | Object: Custom parameters sent to Kargo for this event. | properties |
params.lex_id Required | String: Kargo user identifier used for event matching. | context.providers.kargo.puid |
| Output Key | Description | Expected Input |
|---|
event Required | String: Name of the event being sent to Kargo. | Enrichment – hardcoded value order_completed |
params Required | Object: Custom parameters sent to Kargo for this event. | properties |
params.lex_id Required | String: Kargo user identifier used for event matching. | context.providers.kargo.puid |
These identifiers must be mapped to Kargo in order for successful user matching to occur. Without these IDs, any events sent to Kargo may not be accurately reflected in reporting.
| Attribute | Example | Sync Injector Required? |
|---|
lex_id Required | efaa6e95-8f9e-25bf-d0ec-6bbbcf92ce59 | Yes |
Confirm with your Kargo representative that events, parameters, and the lex_id identifier are being received and processed correctly.