Отслеживание посетителей веб -сайта и учетные записи в уникальном отслеживании с помощью сценария JavaScriptJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Гость
 Отслеживание посетителей веб -сайта и учетные записи в уникальном отслеживании с помощью сценария JavaScript

Сообщение Гость »

В настоящее время я работаю над сценарием для отслеживания страницы и представляю использование на веб -сайте, особенно для такого клиента, как salesforce (или любая компания). Цель состоит в том, чтобы выйти за рамки простого отслеживания страниц и определить учетные записи (компании), посещающие сайт, а также количество посетителей из каждой учетной записи.
Желаемая иерархия:
  • учетные записи (компании): < /strong>, например, Amazon, Microsoft. < /li>
    Посетители: < /strong> конечные пользователи из этих учетных записей. Учетная запись и посетители считаются
    для кликов функций. Задача заключается в определении и дифференциации между учетными записями и их соответствующими посетителями. < /strong> посетите Salesforce, мне нужно отслеживать: < /p>

    Счета (Amazon и Microsoft). < /li>
    Общее количество отдельных пользователей из Amazon и Microsoft вместе. Он фиксирует представления страниц и использование функции, но я не могу надежно различать различные учетные записи и их соответствующие посетители. < /P>
    Мой вопрос: < /h3>
    Я отслеживаю количество уникальных посетителей каждой учетной записи? li> Есть ли какие-нибудь методы сохранения конфиденциальности для подсчета посетителей?
Это мой код для реализации сценария:
const clickCounts = {};
// const accountData = {}

// New function to track features and interactions
const trackFeatureInteraction = (event) => {
const element = event.target.closest('button','a')

if (!element)
return;

// Get a meaningful name for the element as feature name
const featureName = element.getAttribute("data-feature-name") || element.innerText.trim() || 'Unnamed Button'
// Increment individual Visitor click count for the feature
clickCounts[featureName] = (clickCounts[featureName] || 0) + 1;

// Get relevant information about the interaction
const interactionData = {
interactionType: event.type,
timestamp: new Date().toISOString(),
featureName,
path: (typeof getLocation === "function" ? getLoc().fullPath : window.location.pathname) || "unknown",
userClicks: clickCounts[featureName],

// Track the exact Account to visit the website and unique count
// click the exact user to add userId on Visitor count
};

// For now, just log the interaction
console.log('Feature Interaction:', interactionData);
console.log(`Total clicks for ${featureName}:`, clickCounts[featureName]);

// TODO: Once endpoint is provided, uncomment this to send data
// sendFeatureData(interactionData);
};
// Function to send feature tracking data to API
const sendFeatureData = async (featureData) => {
try {
const response = await fetch(`${BASE_URL}/feature-tracking/`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
...featureData,
userId: localStorage.getItem('userId'),
clientId: document.querySelector('script[src*="script.js"]')
?.getAttribute('src')
?.match(/clientId=([^&]+)/)?.[1]
}),
});
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
} catch (error) {
console.error('Error sending feature data:', error);
}
};
// Function to set up feature tracking
const setupFeatureTracking = () => {
// List of events to track
const eventsToTrack = [
'click',
'a',
];
// Add event listeners for each event type
eventsToTrack.forEach(eventType => {
document.addEventListener(eventType, (event) => {
// Filter out non-interactive elements
const interactiveElements = [
'button',
'a',
];

const element = event.target;
const isInteractive = interactiveElements.includes(element.tagName.toLowerCase()) ||
element.hasAttribute('data-feature-name') ||
element.role === 'button';
if (!isInteractive) {
trackFeatureInteraction(event);
}
}, true);
});
};


Подробнее здесь: https://stackoverflow.com/questions/794 ... ipt-script
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»