[dyad] Improve tracking detection logic - wrote 1 file(s)
This commit is contained in:
@@ -283,12 +283,28 @@ export async function extractMetaData(url: string, keyword?: string) {
|
|||||||
let uaMatch = htmlContent.match(/['"](UA-\d{4,9}-\d{1,4})['"]/);
|
let uaMatch = htmlContent.match(/['"](UA-\d{4,9}-\d{1,4})['"]/);
|
||||||
if (uaMatch)
|
if (uaMatch)
|
||||||
uniqueTrackers.set("Google Analytics (Universal)", uaMatch[1]);
|
uniqueTrackers.set("Google Analytics (Universal)", uaMatch[1]);
|
||||||
let fbPixelMatch = htmlContent.match(/fbq\(['"]init['"], ['"](\d+)['"]\)/);
|
|
||||||
if (fbPixelMatch) uniqueTrackers.set("Facebook Pixel", fbPixelMatch[1]);
|
// Facebook Pixel (more robust detection)
|
||||||
|
let fbPixelMatch = htmlContent.match(
|
||||||
|
/fbq\(\s*['"]init['"]\s*,\s*['"](\d+)['"]\s*\)/
|
||||||
|
);
|
||||||
|
if (fbPixelMatch) {
|
||||||
|
uniqueTrackers.set("Facebook Pixel", fbPixelMatch[1]);
|
||||||
|
} else {
|
||||||
|
// Fallback to noscript tag
|
||||||
|
let fbNoscriptMatch = htmlContent.match(
|
||||||
|
/facebook\.com\/tr\?id=(\d+)/
|
||||||
|
);
|
||||||
|
if (fbNoscriptMatch) {
|
||||||
|
uniqueTrackers.set("Facebook Pixel", fbNoscriptMatch[1]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let hotjarMatch = htmlContent.match(/hjid:(\d+)/);
|
let hotjarMatch = htmlContent.match(/hjid:(\d+)/);
|
||||||
if (hotjarMatch) uniqueTrackers.set("Hotjar", hotjarMatch[1]);
|
if (hotjarMatch) uniqueTrackers.set("Hotjar", hotjarMatch[1]);
|
||||||
let hubspotMatch = htmlContent.match(/js\.hs-scripts\.com\/(\d+)\.js/);
|
let hubspotMatch = htmlContent.match(/js\.hs-scripts\.com\/(\d+)\.js/);
|
||||||
if (hubspotMatch) uniqueTrackers.set("HubSpot", hubspotMatch[1]);
|
if (hubspotMatch) uniqueTrackers.set("HubSpot", hubspotMatch[1]);
|
||||||
|
|
||||||
const detectedTracking: TrackingTool[] = Array.from(
|
const detectedTracking: TrackingTool[] = Array.from(
|
||||||
uniqueTrackers,
|
uniqueTrackers,
|
||||||
([name, id]) => ({ name, id })
|
([name, id]) => ({ name, id })
|
||||||
|
|||||||
Reference in New Issue
Block a user