SAP Commerce Cloud Integrations | OpsBlu Docs

SAP Commerce Cloud Integrations

Complete guide to analytics, tracking, and marketing integrations available for SAP Commerce Cloud (Hybris).

This section covers how to integrate analytics and marketing tools with SAP Commerce Cloud (formerly Hybris). SAP Commerce Cloud provides multiple integration approaches through its extensible architecture.

Available Integrations

Analytics Platforms

Platform Integration Method Difficulty
Google Analytics 4 Extension + Spartacus Medium
Google Tag Manager Extension + Data Layer Medium

SAP Commerce Architecture Overview

Storefront Options

SAP Commerce Cloud supports multiple storefront implementations:

  1. Spartacus - Modern Angular-based headless storefront (recommended)
  2. Accelerator - Traditional server-rendered JSP storefront
  3. Custom Headless - Custom frontend with Commerce APIs

Extension Model

SAP Commerce uses extensions for customization:

├── core extensions (platform)
├── addon extensions (features)
└── custom extensions (your code)

Common Integration Patterns

Spartacus (Headless)

For Spartacus storefronts, integrate via Angular services:

// analytics.service.ts
import { Injectable } from '@angular/core';
import { NavigationEnd, Router } from '@angular/router';
import { filter } from 'rxjs/operators';

@Injectable({ providedIn: 'root' })
export class AnalyticsService {
  constructor(private router: Router) {
    this.router.events
      .pipe(filter(event => event instanceof NavigationEnd))
      .subscribe((event: NavigationEnd) => {
        this.trackPageView(event.urlAfterRedirects);
      });
  }

  trackPageView(url: string): void {
    window.dataLayer?.push({
      event: 'page_view',
      page_path: url
    });
  }
}

Accelerator (JSP)

For Accelerator storefronts, use JSP tag libraries:

<%@ taglib prefix="analytics" tagdir="/WEB-INF/tags/analytics" %>

<analytics:gtm containerId="${gtmContainerId}"/>
<analytics:dataLayer pageType="${pageType}" />

OCC API Extensions

Extend Commerce APIs to include tracking data:

@Controller
@RequestMapping("/occ/v2/{baseSiteId}/products")
public class ProductController {

    @RequestMapping(value = "/{productCode}", method = RequestMethod.GET)
    public ProductWsDTO getProduct(
        @PathVariable String productCode,
        @RequestParam(defaultValue = DEFAULT_FIELD_SET) String fields) {

        ProductWsDTO product = productFacade.getProductForCodeAndOptions(productCode);

        // Add tracking data
        product.setTrackingData(buildTrackingData(product));

        return product;
    }
}

Prerequisites

Before integrating analytics tools:

  1. SAP Commerce Cloud Access - Admin access to Backoffice/HAC
  2. Development Environment - Local development setup with extensions
  3. Storefront Type - Determine if using Spartacus or Accelerator
  4. Deployment Pipeline - CI/CD for extension deployment