reportPipStepClicked method

void reportPipStepClicked(
  1. CEPTriggerPayload payload, {
  2. required String ctaLabel,
  3. required String actionType,
  4. required String ctaRole,
  5. String? actionUrl,
  6. int? timeToActionMs,
})

An authored CTA inside the expanded content — the PiP's real conversion.

Floater clicks remain Digia analytics only.

Deliberately does NOT complete the showing. Completion is decided once, at dismissal, from whether full screen was ever reached — which a CTA tap implies anyway, since the CTA only exists there. Completing on the tap instead would retire the campaign (stopOn: experienceCompleted) while it is still on the user's screen.

payload is passed in rather than read from the orchestrator: the CTA is reported after its actions run, and the authored dismiss among them has already cleared the active showing by then.

Only a primary CTA reaches the CEP, matching reportNudgeClicked. A secondary CTA is a real interaction and is reported to Digia, but it is not the campaign's conversion, and forwarding it as ExperienceClicked would count it against every other campaign type's CTR.

Implementation

void reportPipStepClicked(
  CEPTriggerPayload payload, {
  required String ctaLabel,
  required String actionType,
  required String ctaRole,
  String? actionUrl,
  int? timeToActionMs,
}) {
  _events.toDigia(
    PipStepClicked(
      elementId: 'pip_cta',
      ctaLabel: ctaLabel,
      actionType: actionType,
      actionUrl: actionUrl,
      ctaRole: ctaRole,
      timeToActionMs: timeToActionMs,
    ),
    payload,
  );
}