Skip to content

Commit 9a459b5

Browse files
fix: error calculating CTR and TotalOpenClicks
1 parent f97d1ec commit 9a459b5

1 file changed

Lines changed: 11 additions & 4 deletions

File tree

Doppler.ReportingApi/Infrastructure/SummaryRepository.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,24 @@ public async Task<CampaignsSummary> GetCampaignsSummaryByUserAsync(string userNa
2424
SELECT
2525
T.TotalSentEmails,
2626
T.DistinctOpenedMailCount as TotalOpenClicks,
27-
ISNULL(( T.DistinctOpenedMailCount / NULLIF (T.SoftBouncedMailCount, 0 ) + NULLIF (T.UnopenedMailCount, 0 )), 0) ClickThroughRate
27+
28+
CAST(ISNULL(T.UniqueClickCount, 0) AS FLOAT) /
29+
CAST(NULLIF((ISNULL(T.DistinctOpenedMailCount, 0) + ISNULL(T.UnopenedMailCount, 0)), 0) AS FLOAT) * 100 AS ClickThroughRate
2830
FROM (
2931
SELECT
3032
SUM(Campaign.AmountSentSubscribers) AS TotalSentEmails,
3133
SUM(Campaign.DistinctOpenedMailCount) AS DistinctOpenedMailCount,
3234
33-
SUM(Campaign.SoftBouncedMailCount) AS SoftBouncedMailCount,
34-
SUM(Campaign.UnopenedMailCount) AS UnopenedMailCount
35-
35+
SUM(Campaign.UnopenedMailCount) AS UnopenedMailCount,
36+
SUM(LinkInfo.UniqueClickCount) AS UniqueClickCount
3637
FROM [user]
3738
INNER JOIN Campaign WITH (NOLOCK) on [user].iduser = Campaign.IdUser
39+
OUTER APPLY (
40+
SELECT COUNT(DISTINCT LT.IdSubscriber) AS UniqueClickCount
41+
FROM Link L WITH (NOLOCK)
42+
INNER JOIN LinkTracking LT WITH (NOLOCK) ON LT.IdLink = L.IdLink
43+
WHERE L.IdCampaign = Campaign.IdCampaign
44+
) AS LinkInfo
3845
WHERE
3946
Campaign.Status = 5 AND --SENT
4047
Campaign.IdTestCampaign IS NULL AND --Exclude test campaigns

0 commit comments

Comments
 (0)