Affiliate Traffic Analysis Tool

Affiliate Traffic Analysis Tool

Analyze traffic sources to measure performance and profitability.

No data to display. Please paste your traffic data in the 'Data Input' tab.

Total Revenue

${totalRevenueEl.textContent}

Overall Conv. Rate

${avgConvRateEl.textContent}
`; document.getElementById('pdf-visits-chart-img').src = visitsChart.toBase64Image(); document.getElementById('pdf-revenue-chart-img').src = revenueChart.toBase64Image(); const tableHTML = `${state.analysis.perSourceData.map(s => ``).join('')}
SourceVisitsConversionsRevenueConv. RateRPV
${s.source_name}${s.visits.toLocaleString()}${s.conversions.toLocaleString()} $${s.revenue.toFixed(2)}${s.conv_rate.toFixed(2)}%$${s.rpv.toFixed(2)}
`; document.getElementById('pdf-table-container').innerHTML = tableHTML; const pdfContainer = document.getElementById('pdf-container'); pdfContainer.classList.remove('invisible', '-left-[9999px]'); try { const canvas = await html2canvas(document.getElementById('pdf-report'), { scale: 2 }); const imgData = canvas.toDataURL('image/jpeg', 0.9); const pdf = new jsPDF({ orientation: 'p', unit: 'px', format: 'a4' }); const pdfWidth = pdf.internal.pageSize.getWidth(); const pdfHeight = (canvas.height * pdfWidth) / canvas.width; pdf.addImage(imgData, 'JPEG', 0, 0, pdfWidth, pdfHeight); pdf.save('Affiliate_Traffic_Report.pdf'); } catch (error) { console.error("PDF generation failed:", error); } finally { pdfContainer.classList.add('invisible', '-left-[9999px]'); } } initialize(); });
Scroll to Top