Skip to content

Commit cf06998

Browse files
authored
Fix UTM param appending for URLs with fragments in RedirectAddAnalytics
1 parent 0a24c0f commit cf06998

1 file changed

Lines changed: 6 additions & 1 deletion

File tree

src/Plugin/RedirectAddAnalytics.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,14 @@ public function __construct(
5959
$path = $redirect->redirect_source__path;
6060
$query = $this->connection->update('redirect');
6161
$query->condition('rid', $redirect->rid);
62+
$fragment = '';
63+
if (str_contains($uri, '#')) {
64+
[$uri, $fragment] = explode('#', $uri, 2);
65+
$fragment = '#' . $fragment;
66+
}
6267
$separator = str_contains($uri, '?') ? '&' : '?';
6368
$query->fields([
64-
'redirect_redirect__uri' => $uri . $separator . 'utm_source=' . rawurlencode($path) . '&utm_campaign=redirect',
69+
'redirect_redirect__uri' => $uri . $separator . 'utm_source=' . rawurlencode($path) . '&utm_campaign=redirect' . $fragment,
6570
]);
6671
$query->execute();
6772
}

0 commit comments

Comments
 (0)