Skip to main content

Klaviyo Ordered Product Event From iPaaS.com Mapping Documentation

Summary

iPaaS.com Transaction Lines can be transferred to Klaviyo as Ordered Product events through an outbound, append-only flow. For each line on a transaction, the integration records one Ordered Product event on the matching Klaviyo profile, carrying the line's product details so Klaviyo can drive product-level flows, segments, and analytics. This is the child collection of the Klaviyo Placed Order event: the per-line product events are produced alongside the parent order event when the transaction is transferred outbound.

ID Format

This collection is outbound only and is not synced directly from the Manual Sync page on its own. Ordered Product events are produced as part of transferring the parent transaction. To send a single order's product events on demand, sync the parent transaction from the iPaaS.com Manual Sync page by entering the iPaaS.com Transaction ID, and the integration records the Ordered Product events for that transaction's lines.

External ID Format

After an Ordered Product event is recorded, the integration stores the Klaviyo event identifier as the external ID for the transaction line. The external ID is the Klaviyo event's primary identifier.

Pattern: {{id}}

Example: 44552

Deleted Record Support

Outbound delete is not supported for Ordered Product events. Klaviyo events are append-only: the integration records events by creation and does not remove a recorded event. Delete mappings are not included in the default template, and deletions in iPaaS.com do not propagate to Klaviyo. A correction is recorded as an additional event rather than a removal of an existing one.

Custom Field Support

This collection maps one custom event field, Order Qty, which carries the transaction line quantity into the Ordered Product event. Subscribers can add further mappings to carry additional transaction-line values into the event properties, either by building them into the event-properties formula or by adding a subscription custom field named to match the destination event property.

Mapping Collection Status

Status: Enabled

Trigger Events: This collection is outbound only. Events are dispatched when the subscriber has enabled the relevant iPaaS.com Transaction outbound triggers under Outbound Data Flows, and they are produced alongside the parent Placed Order event when its transaction is transferred outbound. Event creation is also gated by the subscription's Generate Events setting: events are emitted only when Generate Events is set to TRUE. Until the outbound triggers are enabled, no transactions flow automatically to Klaviyo.

Duplicate or Conflicting Mappings

This is the Add collection for the Klaviyo Ordered Product event outbound flow. There is no companion Update collection: Klaviyo events are append-only, so a re-sent line emits a new event rather than changing one already recorded. The UniqueId mapping is the safeguard against recording the same line twice; populating it lets Klaviyo recognize a re-sent event as the same line and keep only the first event recorded for that profile and metric.

Parent Collection

This collection is the child of Klaviyo Placed Order Event From iPaaS.com Mapping Documentation. The parent collection sends the iPaaS.com Transaction to Klaviyo as a single Placed Order event; this child collection sends one Ordered Product event per transaction line on that same transaction. The child events are produced as part of transferring the parent transaction and are not transferred independently of their parent order. Each Ordered Product event is attributed to the same Klaviyo profile resolved for the parent order.

System Caveats

Klaviyo Caveats

  • Profile prerequisite: An event cannot be recorded without a profile. The profile is resolved from the parent transaction's customer; when that customer is not yet linked to a Klaviyo profile, the customer is transferred to Klaviyo first so the event can be attached. If the profile cannot be resolved or created, the event is not recorded.

  • Append-only events: Klaviyo records events by creation only and does not mutate an existing event. Re-sending the same line relies on the UniqueId idempotency key to avoid a duplicate event. When the UniqueId is repeated for the same profile and metric, Klaviyo records only the first processed event.

  • Required event content: A Klaviyo event must carry a metric name and be attributed to a profile, and must carry its event properties. An event is recorded only when MetricName, ProfileId, UniqueId, and EventProperties are all populated.

iPaaS.com Caveats

  • Generate Events gate: Events are emitted only when the subscription's Generate Events setting is TRUE. With the setting FALSE, transaction lines transferred outbound do not produce Klaviyo events.

  • Parent-driven transfer: These events are produced as part of transferring the parent transaction. They are not transferred independently of their parent order.

Setup Requirements

iPaaS.com Configuration

  • Enable the relevant iPaaS.com Transaction outbound triggers under Outbound Data Flows so that transactions, and the Ordered Product events for their lines, are dispatched to Klaviyo automatically.

  • Set the subscription's Generate Events setting to TRUE so that transaction lines transferred outbound produce Klaviyo events.

Authentication & Security

The integration authenticates to Klaviyo using the subscription's configured credentials. Refer to the Klaviyo installation and connection articles for the full credential walkthrough; no additional subscriber-facing setup is required on the Klaviyo side for this collection beyond the parent transaction's outbound configuration.

Integration Flow

  1. A transaction is transferred outbound to Klaviyo, either automatically through enabled iPaaS.com Transaction outbound triggers or by sending the transaction on demand from the iPaaS.com Manual Sync page.

  2. Event creation is checked against the subscription's Generate Events setting. When the setting is FALSE, no Klaviyo events are produced and the flow stops.

  3. The parent transaction is recorded in Klaviyo as a Placed Order event.

  4. For each line on the transaction, the integration resolves the Klaviyo profile from the parent transaction's customer external-id link. When no link exists yet, it falls back to matching the profile by the parent customer's email address. If the customer is not yet present in Klaviyo, the customer is transferred to Klaviyo first so the event has a profile to attach to.

  5. The integration assembles the event properties for the line (the customer email, the order number, the product SKU, and the unit price), the metric name "Ordered Product", the numeric value from the line's extended price, the idempotency key from the line identifier, and the Order Qty custom field from the line quantity.

  6. The integration records one Ordered Product event per line on the resolved profile and stores the returned Klaviyo event identifier as the line's external ID.

  7. If the Klaviyo API is temporarily unavailable or the profile cannot be resolved, the transfer fails and the error is reported to iPaaS.com Dashboard / Integration Monitoring / Error Logs, where it can be retried by re-sending the parent transaction via Manual Sync.

Mappings

Add Klaviyo Ordered Product Event FROM iPaaS.com (Child of Placed Order)

This collection does not have a mapping filter applied. Every transaction line on a processed transaction is recorded as an Ordered Product event.

Description. Sends one Klaviyo Ordered Product event per iPaaS.com Transaction Line, attributed to the Klaviyo profile resolved for the parent order, carrying the line's product details in the event properties and tagged with the Ordered Product metric.

Mapping Type

Source Field (iPaaS.com)

Destination Field (Klaviyo)

Description

Dynamic Formula

Resolves the Klaviyo profile from the parent transaction's customer external-id link, falling back to the parent customer's email address when no link exists

ProfileId

Required. Resolves the Klaviyo profile the event is attributed to. When the parent customer is not yet linked to a Klaviyo profile, the integration matches the profile by the parent customer's email address, and transfers the customer to Klaviyo first when no profile exists. If the profile cannot be resolved, the event is not recorded.

Dynamic Formula

The iPaaS.com Transaction Line's primary identifier

UniqueId

Recommended. The event's idempotency key. Populating it lets Klaviyo recognize a re-sent line as the same event and keep only the first event recorded for the profile and metric, rather than recording a duplicate.

Dynamic Formula

A dictionary of the customer email, the order number, the product SKU, and the unit price

EventProperties

Required. Carries the product payload sent with the event. This is the body of the event in Klaviyo. The keys are Email, Order, Sku, and Unit Price.

Static

"Ordered Product"

MetricName

Recommended. The event's metric name. This is the metric Klaviyo flows and segments key on to identify the event as an ordered-product event, so it should remain populated.

Field

ExtendedPrice

NumericValue

Recommended. The line value, set from the transaction line extended price, so product-value metrics and segments are available in Klaviyo.

Field

Qty

Order Qty

Recommended. The ordered quantity, set from the transaction line quantity, carried into the event as a custom event property so product-quantity reporting is available in Klaviyo.

Error Handling

  • "Could not Create Transaction: Mapping is not complete" — The integration did not have all of the values required to record the event. An Ordered Product event is recorded only when MetricName, ProfileId, UniqueId, and EventProperties are all populated. Resolution: confirm those mappings are populated for the collection, and that the parent customer can be resolved to a Klaviyo profile, then re-send the parent transaction.

  • Profile could not be resolved — The parent transaction's customer is not yet linked to a Klaviyo profile and no matching profile could be found by email. The integration attempts to transfer the customer to Klaviyo first; when that does not succeed, the event is not recorded. Resolution: resolve the customer or profile transfer, then re-send the parent transaction so the event transfer is retried.

  • Klaviyo API temporarily unavailable — The Klaviyo API did not respond successfully when the event transfer ran. Resolution: the error appears in iPaaS.com Dashboard / Integration Monitoring / Error Logs and can be retried by re-sending the parent transaction via Manual Sync.

Testing & Validation

Test Scenarios

  • Single line produces a single event: Transfer a transaction outbound with one line and confirm exactly one Ordered Product event is recorded on the matching Klaviyo profile, with the line's SKU, unit price, extended price, and quantity present.

  • Parent-child sync: Transfer a transaction with several lines and confirm one Ordered Product event is recorded per line, each attributed to the same Klaviyo profile resolved for the parent Placed Order event.

  • Profile fallback: Transfer a transaction whose customer is not yet linked to a Klaviyo profile and confirm the profile is resolved by email, or the customer is transferred to Klaviyo first, before the events are recorded.

  • Idempotency: Re-send the same transaction and confirm Klaviyo does not record a duplicate event for a line whose UniqueId is unchanged.

  • Generate Events gate: Set Generate Events to FALSE, transfer a transaction outbound, and confirm no Ordered Product events are produced. Set it to TRUE and confirm events are produced.

  • Error reporting: Transfer a transaction whose customer cannot be resolved to a Klaviyo profile and confirm the failure is reported to iPaaS.com Dashboard / Integration Monitoring / Error Logs, then resolve the profile and re-send to confirm the event transfers.

Validation Checklist

  • One Ordered Product event is recorded per transaction line.

  • Each event is attributed to the same Klaviyo profile as the parent Placed Order event.

  • The event metric name reads "Ordered Product".

  • The event properties carry the customer email, order number, product SKU, and unit price.

  • The numeric value matches the line's extended price and the Order Qty matches the line quantity.

  • Re-sending an unchanged transaction does not create duplicate events.

  • Setting Generate Events to FALSE suppresses Ordered Product events.

Additional Notes

  • Klaviyo events are append-only. An "update" to a line emits a new event rather than changing the one already recorded, so corrections appear as additional events in Klaviyo. This reflects the Klaviyo platform's design at the time this documentation was written.

  • Klaviyo does not send change webhooks to the integration; this collection is outbound only and dispatches on the iPaaS.com outbound triggers the subscriber enables. There is no automatic transfer until those triggers are enabled, as configured at the time this documentation was written.

  • This collection is a leaf collection: it represents the per-line product events under the parent Placed Order event collection and has no child collections of its own.


Related Documents

Did this answer your question?