public static function injectLeadEvent()

in integration/FacebookWordpressGravityForms.php [42:81]


  public static function injectLeadEvent($confirmation, $form, $entry, $ajax) {
    if (FacebookPluginUtils::isInternalUser()) {
      return $confirmation;
    }

    $event = ServerEventFactory::safeCreateEvent(
      'Lead',
      array(__CLASS__, 'readFormData'),
      array($form, $entry),
      self::TRACKING_NAME,
      true
    );
    FacebookServerSideEvent::getInstance()->track($event);

    $pixel_code = PixelRenderer::render(array($event), self::TRACKING_NAME);
    $code = sprintf("
    <!-- Meta Pixel Event Code -->
    %s
    <!-- End Meta Pixel Event Code -->
    ", $pixel_code);

    if (is_string($confirmation)) {
        $confirmation .= $code;
    } elseif ( is_array($confirmation) && isset($confirmation['redirect'])) {
        $redirect_code = sprintf("
            <!-- Meta Pixel Gravity Forms Redirect Code -->
            <script>%sdocument.location.href=%s;%s</script>
            <!-- End Meta Pixel Gravity Forms Redirect Code -->",
            apply_filters('gform_cdata_open', ''),
            defined('JSON_HEX_TAG') ?
              json_encode($confirmation['redirect'], JSON_HEX_TAG)
              : json_encode($confirmation['redirect']),
            apply_filters('gform_cdata_close', '')
          );

        $confirmation = $code . $redirect_code;
    }

    return $confirmation;
  }