Email Marketing Campaign Dashboard

Email Marketing Campaign Dashboard

Campaign Overview

Total Emails Sent

1,250,000

Open Rate

25.5%

Click-Through Rate

4.8%

Conversion Rate

1.2%

Revenue Generated

$75,000

Individual Campaigns

Campaign Name Emails Sent Opens Clicks Conversions Revenue ($) Status

${dashboardData.overview.openRate}%

Click-Through Rate

${dashboardData.overview.clickRate}%

Conversion Rate

${dashboardData.overview.conversionRate}%

Revenue Generated

$${dashboardData.overview.revenue.toLocaleString()}

`; // Add Individual Campaigns table let campaignTableHtml = `

Individual Campaigns

`; dashboardData.campaigns.forEach((campaign, index) => { const rowBg = index % 2 === 0 ? '#ffffff' : '#f7fafc'; campaignTableHtml += ` `; }); campaignTableHtml += `
Campaign Name Emails Sent Opens Clicks Conversions Revenue ($) Status
${campaign.name} ${campaign.sent.toLocaleString()} ${campaign.opens.toLocaleString()} ${campaign.clicks.toLocaleString()} ${campaign.conversions.toLocaleString()} $${campaign.revenue.toLocaleString()} ${campaign.status}
`; pdfContentDiv.innerHTML += campaignTableHtml; // Append the temporary div to the body to render it for html2canvas document.body.appendChild(pdfContentDiv); // Use html2canvas to capture the content as an image const canvas = await html2canvas(pdfContentDiv, { scale: 2, // Increase scale for better resolution in PDF useCORS: true, // Required if you have external images/resources logging: false // Disable logging for cleaner console }); // Remove the temporary div document.body.removeChild(pdfContentDiv); const imgData = canvas.toDataURL('image/png'); const pdf = new window.jspdf.jsPDF({ orientation: 'portrait', unit: 'px', format: [canvas.width, canvas.height] // Use canvas dimensions for PDF }); pdf.addImage(imgData, 'PNG', 0, 0, canvas.width, canvas.height); pdf.save('Email_Marketing_Campaign_Report.pdf'); } // --- Event Listeners --- if (dashboardTabBtn) dashboardTabBtn.onclick = function() { switchTab('dashboard'); }; if (dataConfigTabBtn) dataConfigTabBtn.onclick = function() { switchTab('dataConfig'); }; if (saveConfigBtn) saveConfigBtn.onclick = saveConfiguration; if (addCampaignBtn) addCampaignBtn.onclick = addCampaign; if (nextBtn) nextBtn.onclick = navigateNext; if (prevBtn) prevBtn.onclick = navigatePrevious; if (downloadPdfBtn) downloadPdfBtn.onclick = downloadPDF; // --- Initial Render --- renderDashboard(); // Render dashboard on initial load switchTab('dashboard'); // Ensure dashboard tab is active by default });
Scroll to Top