Siehe Protect Privacy with a Tracking Consent Banner (Datenschutz mit einem Tracking-Einwilligungsbanner).
Bewahren Sie das Vertrauen der Kunden mit einem Tracking-Einwilligungsbanner auf Ihrer Progressive Web App (PWA) Kit-Website. Mit dem Banner können sich Ihre Käufer für die standardmäßige Aktivitätsverfolgung entscheiden, die im PWA Kit enthalten ist.
In diesem Leitfaden werden die standardmäßigen Implementierungs- und Anpassungsoptionen für das Banner für die Nachverfolgungseinwilligung erläutert.
Die in diesem Leitfaden beschriebene Funktionalität wird in einer Hybrid-Storefront nicht unterstützt.
Note
Voraussetzungen
Um das Tracking-Einwilligungsbanner zu konfigurieren und zu verwenden, erstellen Sie Ihre Website mit der Retail React App Version 6.0 oder höher.
Implementierung der standardmäßigen Tracking-Einwilligung
Banner-Benutzeroberfläche
Das Banner für die Nachverfolgungseinwilligung ist in template-retail-react-app/app/components/_app/index.jsx verfügbar, sodass Sie es auf jeder Seite Ihrer Website anzeigen können. Das Banner wird in template-retail-react-app/app/hooks/use-dnt-notification.jsdefiniert.
Standardmäßig sieht das Banner ähnlich wie in diesem Beispiel aus.
Werte nicht nachverfolgen
Dies sind die beiden Werte, die definieren, auf was der DNT-Status festgelegt ist:
effectiveDnt: Ist auf den DNT-Standardstatus festgelegt, den Sie konfiguriert haben, oder auf den Sie festgelegt sind, wenn false Sie keinen DNT-Standardstatus konfiguriert haben. Dieser Wert wird so festgelegt, ob false der Käufer dem Tracking zugestimmt hat oder true ob er sich gegen das Tracking entschieden hat.
selectedDnt: Ist nicht definiert, bis der Käufer mit dem Einwilligungsbanner interagiert. Dieser Wert wird so festgelegt, ob false der Käufer dem Tracking zugestimmt hat oder true ob er sich gegen das Tracking entschieden hat.
Banner und DNT-Workflow
Wenn ein Käufer das Banner schließt oder keine Auswahl im Banner trifft, wird der Standard-DNT-Status auf false (Aktivität verfolgen) gesetzt. Informationen zum Ändern dieses Verhaltens finden Sie unter Konfigurieren des DNT-Standardstatus. Das Banner wird wieder angezeigt, wenn der Käufer Ihre Website das nächste Mal besucht, nachdem er eine der folgenden Aktionen ausgeführt hat:
Schließen Sie den Browser
Aktualisieren von Websitedaten
Löschen Sie ihre Cookies
Dieses Diagramm fasst das Verhalten des Tracking-Einwilligungsbanners zusammen und wie der DNT-Status der Käufer festgelegt wird, wenn sie Ihre Website besuchen.
Sofern nicht anders angegeben, gelten alle Schritte im Diagramm sowohl für Gastkäufer als auch für bekannte Käufer.
Konfigurieren des DNT-Standardstatus
Optional können Sie einen DNT-Standardstatus angeben, der gilt, wenn ein Käufer das Banner für die Tracking-Einwilligung schließt oder keine Auswahl im Banner trifft. Legen Sie dazu die defaultDNT Eigenschaft in dieser Datei in Ihrem Projekt fest: {overridesDir}/app/components/_app-config/index.jsx.
defaultDnt={true}: Gibt an, dass die Käuferaktivität nicht verfolgt wird.
defaultDnt={false}: Gibt an, dass die Käuferaktivität nachverfolgt wird.
In diesem Beispiel defaultDnt ist auf falsefestgelegt.
1// More code here...23<CommerceApiProvider4 shortCode={commerceApiConfig.parameters.shortCode}5 clientId={commerceApiConfig.parameters.clientId}6 organizationId={commerceApiConfig.parameters.organizationId}7 siteId={locals.site?.id}8 locale={locals.locale?.id}9 currency={locals.locale?.preferredCurrency}10 redirectURI={`${appOrigin}/callback`}11 proxy={`${appOrigin}${commerceApiConfig.proxyPath}`}12 headers={headers}13 // Add your chosen default DNT state.14 defaultDnt={false}15 // Uncomment 'enablePWAKitPrivateClient' to use SLAS private client login flows.16 // Make sure to also enable useSLASPrivateClient in ssr.js when enabling this setting.17 // enablePWAKitPrivateClient={true}18 logger={createLogger({packageName: 'commerce-sdk-react'})}19>20<MultiSiteProvider site={locals.site} locale={locals.locale} buildUrl={locals.buildUrl}>21<ChakraProvider theme={theme}>{children}</ChakraProvider>22</MultiSiteProvider>23<ReactQueryDevtools />24</CommerceApiProvider>2526 // More code here...
Anpassen des Tracking-Einwilligungsbanners
Optional können Sie das Banner für die Nachverfolgungseinwilligung anpassen, indem Sie Teile davon ändern, z. B. das Erscheinungsbild oder den Text. Um dies zu tun, haben Sie diese beiden Möglichkeiten.
Wenn Sie dies noch nicht getan haben, erstellen Sie in Ihrem PWA Kit-Projekt einen Ordner mit dem Namen hooks in {overridesDir}/app.
Erstellen Sie eine Datei, die in dem hooks Ordner aufgerufen wird use-dnt-notification.js.
Kopieren Sie diesen Code, und fügen Sie ihn in use-dnt-notification.jsein. In diesem Beispiel verwenden selectedDnt wir es, um ein benutzerdefiniertes Banner zu rendern, das von der DntNotification Komponente gesteuert wird. Außerdem verwenden wir die updateDnt Funktion, um die Tracking-Präferenz eines Käufers als booleschen Wert anzuwenden. Weitere Informationen finden Sie unter Werte nicht nachverfolgen.
1import React, {useEffect}from 'react'2import PropTypes from 'prop-types'3import{FormattedMessage, useIntl}from 'react-intl'4import{5 Button,6 Modal,7 ModalContent,8 ModalBody,9 ModalCloseButton,10 useDisclosure,11 Heading,12 Stack,13 Text,14 Flex15}from '@salesforce/retail-react-app/app/components/shared/ui'16import{useDNT}from '@salesforce/commerce-sdk-react'17import{useLocation}from 'react-router-dom'1819export const DntNotification = ({isOpen, onOpen, onClose})=>{20 const{selectedDnt, updateDNT} = useDNT()21 const{formatMessage} = useIntl()22 const location = useLocation()2324 useEffect(()=>{25 if(selectedDnt === undefined){26 onOpen()27}else{28 onClose()29}30}, [location, selectedDnt])3132 const onCloseNotification = ()=>{33 updateDNT(null)34 onClose()35}3637 return(38<Modal39 size="sm"40 data-testid="sf-dnt-notification"41 blockScrollOnMount={false}42 closeOnOverlayClick={false}43 trapFocus={false}44 isOpen={isOpen}45 onOpen={onOpen}46 onClose={onCloseNotification}47>48<ModalContent49 position="fixed"50 bottom="4"51 right="4"52 maxW="400px"53 pointerEvents="all"54 containerProps={{55 pointerEvents: 'none'56}}57 border="2px solid"58>59<ModalCloseButton60 aria-label={formatMessage({61 id: 'dnt_notification.button.assistive_msg.close',62 defaultMessage: 'Close consent tracking form'63})}64 />65<ModalBody pb={8} bg="white" marginTop={4}>66<Heading as="h3" fontSize={25} width="100%" marginBottom={5}>67<FormattedMessage68 defaultMessage="Your Privacy Matters to Us"69 id="dnt_notification.title"70 />71</Heading>72<Flex direction="column">73<Text>74<FormattedMessage75 defaultMessage="We collect data to improve your experience, deliver personalized content or ads, and better understand how our site is used. By selecting 'Accept,' you agree to our use of tracking technologies. "76 id="dnt_notification.description"77 />78</Text>79<Stack direction="column" spacing={4} mt={4} align="flex-end">80<>81<Button82 onClick={()=>{83 updateDNT(true)84 onClose()85}}86 width="100%"87>88<FormattedMessage defaultMessage="Decline" id="dnt_notification.button.decline" />89</Button>90<Button91 onClick={()=>{92 updateDNT(false)93 onClose()94}}95 width="100%"96>97<FormattedMessage defaultMessage="Accept" id="dnt_notification.button.accept" />98</Button>99</>100</Stack>101</Flex>102</ModalBody>103</ModalContent>104</Modal>105)106}107108DntNotification.propTypes = {109 isOpen: PropTypes.bool.isRequired,110 onOpen: PropTypes.func.isRequired,111 onClose: PropTypes.func.isRequired112}113114/**115 *116 * @returns{Object} - Object props to be passed into the DntNotification component117 */118export const useDntNotification = ()=>{119 const{isOpen, onOpen, onClose} = useDisclosure()120121 return{122 isOpen,123 onOpen,124 onClose125}126}
Wenn Sie die app/components/_app/index.jsx Datei in Ihrem PWA Kit-Projekt überschrieben haben, verwenden Sie den useDntNotification Hook, um Ihr benutzerdefiniertes Banner für die Nachverfolgungseinwilligung anzuzeigen.
1import{2 DntNotification,3 useDntNotification4}from '{overridesDir}/app/hooks/use-dnt-notification'56const App = (props)=>{7 ...8 const dntNotification = useDntNotification()9 ...1011 return(12 ...13 // Put the consent tracking banner in your chosen location in your code by adding the dntNotification component.14<DntNotification{...dntNotification} />15 ...16)17}
Unterdrücken der Nachverfolgung basierend auf dem DNT-Status
Optional können Sie Ihrem PWA Kit-Projekt Code hinzufügen, um Aktionen basierend auf der Nachverfolgungspräferenz eines Käufers oder Ihrem DNT-Standardstatus auszulösen oder zu verhindern.
Verwenden Sie diese Option effectiveDnt, um Aktionen wie API-Aufrufe auszulösen oder zu verhindern. Zum Beispiel API-Aufrufe für den Zugriff auf Google Analytics. Weitere Informationen finden Sie unter Werte nicht nachverfolgen.
In diesem Beispiel verwenden effectiveDnt wir, um einen Analyse-API-Aufruf auszulösen, mit dem Ziel, Daten basierend auf den Interaktionen eines Käufers mit einer Website zu sammeln. Die Daten können Erkenntnisse über Faktoren wie Käuferverhalten, Website-Traffic oder Verkaufsleistung liefern.
Wenn ein Käufer das Tracking deaktiviert (der DNT-Status ist auf true) oder der DNT-Status nicht festgelegt:
Einstein-Ereignisse werden unterdrückt. Das bedeutet, dass die Aktivitäten eines Käufers auf Ihrer Website nicht in den Berichts-Dashboards &enthalten sind.
Metriken für aktive Daten werden erfasst, wenn Sie die Funktion aktiviert haben, wie unter Aktive Daten beschrieben. Alle Käuferdaten sind jedoch anonymisiert.
PWA Kit überschreibt alle standardmäßigen Tracking-Konfigurationen, die du in den Datenschutzeinstellungen im Business Manager festgelegt hast. Ihre PWA Kit-Website wendet eine der folgenden Konfigurationen an:
PWA Kit Die standardmäßige oder benutzerdefinierte Nachverfolgungskonfiguration, die in diesem Handbuch beschrieben wird.
Käufer-Login und API-Zugriffsdienst (SLAS): Wenn Sie das Banner für die Tracking-Einwilligung mithilfe von SLAS angepasst haben, wendet Ihre Website die Tracking-Konfiguration an, die unter Verwalten der Tracking-Einstellungen für Käufer beschrieben ist.
Problembehandlung bei der Nachverfolgungseinwilligung
In diesem Abschnitt finden Sie einen Lösungsvorschlag für einen häufigen Fehler, der bei der Verwendung des Banners für die Nachverfolgungseinwilligung auftreten kann.
Das Banner wird nicht angezeigt oder das Verhalten ist unerwartet
Ursache: CSS- oder JavaScript-Probleme können die Funktionalität beeinträchtigen oder dazu führen, dass das Banner auf bestimmten Geräten oder Browsern falsch oder gar nicht angezeigt wird.
Vorgeschlagene Lösung: Testen Sie das Banner in mehreren Browsern und Geräten, um eine konsistente Funktionalität zu gewährleisten. Achten Sie besonders auf Browser mit strengeren Cookie-Richtlinien (z. B. Intelligent Tracking Prevention von Safari). Testen Sie verschiedene Bildschirmgrößen und Auflösungen, um sicherzustellen, dass das Banner reaktionsschnell und benutzerfreundlich ist. Vergewissern Sie sich, dass das Banner die Funktionalität der Website oder die Interaktionen der Käufer nicht beeinträchtigt.