News

Telus receives most complaints in latest CCTS mid-year report

The 2024–2025 mid-year review marks the first time Telus leads in complaint volume among participating service providers

CCTS website on a smartphone.

The Commission for Complaints for Telecom-Television Services (CCTS) has released its review for the 2024-2025 mid-year reporting period.

The commission accepted 11,909 complaints across all services (wireless, internet, TV, and phone) in Canada, which is up 12 per cent from last year’s mid-year complaints. The CCTS noted their sustained efforts to advertise their services through various channels across audiences in Canada.

During the reporting period, which covers August 1, 2024 through January 31, 2025, Rogers, Bell, Telus, Shaw, and Fido accounted for 72 per cent of the 11,909 complaints. This was Shaw’s first appearance in the top five Participating Service Providers (PSPs) in this report. It saw a 194 per cent increase in complaints driven by issues related to rental equipment, changes to and breaches of contracts, and price increases.

However, it’s a bit odd that the CCTS counted Rogers and Shaw separately after the companies merged in 2023. That said, the commission also counts flanker brands, such as Rogers’ Fido brand, separately, so there is some precedent.

Among the top five service providers, Telus experienced the highest increase in complaints from the prior 2023-2024 reporting period, up 63 per cent from last year. This year is the first time Telus has received the highest number of complaints in a CCTS reporting cycle. In contrast to last year, Telus ranked third among the Big Three providers (Rogers, Bell, Telus) for total number of complaints.

Terry Wells, Telus’ senior vice-president of customer service excellence, said in a statement to MobileSyrup:

“The latest CCTS mid-year report shows a 12% increase in industry-wide complaints from August 2024 to January 2025. For 13 years, TELUS maintained the lowest CCTS complaint rate in the national industry. Last year alone, we reported a 90% resolution rate for all customer concerns, CCTS-related or otherwise. We acknowledge our complaint volumes increased during this most recent period, and take full responsibility for these results, viewing every interaction as an opportunity to learn and grow. We’ve taken immediate action based on our customers’ feedback, achieving a 20% reduction in complaints since January 2025, with significant improvements in contract disputes, credit policies, and sales transparency.”

The rise in complaints was driven by the following issues:

  • Incorrect charge for monthly price plan.
  • Breach of contract.
  • Regular price increase of monthly price plan.

Insight into service complaints

Wireless services continue to be the most reported category among services (Wireless, Internet, TV, and Local Phone), making up 50 per cent of all complaints this year. The number of issues related to wireless services rose by 12 per cent compared to last year’s mid-year report.

Across the various services covered in the CCTS report, billing continues to be the top concern for customers. Notably, the top reported issue across all services was ‘incorrect charges for monthly price plans.’ That accounted for 12 per cent of issues this year, but decreased by four per cent compared to last year’s report.

Wireless Code breaches

The CCTS reviews the conduct of Canada’s service providers using four codes issued by the Canadian Radio-television and Telecommunications Commission (CRTC), Canada’s independent authority on telecommunications and broadcasting regulation.

Established in 2013 by the CRTC, the Wireless Code outlines rules for fair conduct and service standards among providers, while also protecting consumer rights and supporting access to reliable telecom services.

The CCTS received 1,456 alleged breaches of the Wireless Code, 88 reports required investigation, leading to 34 confirmed breaches of the Code.

Of the 34 confirmed breaches, the most breached requirement was regarding Unlimited Services (Section A.3 of the Wireless Code) at nine reports, accounting for 24 per cent of total confirmed breaches.

The CCTS resolved 9,623 complaints this mid-year reporting period. The CCTS publishes all reports on its website.

Update April 30, 2026 at 10:32 a.m. ET: Updated the story with a statement from Telus and additional context regarding Shaw.

MobileSyrup may earn a commission from purchases made via our links, which helps fund the journalism we provide free on our website. These links do not influence our editorial content. Support us here.

Related Articles

Fatal error: Uncaught Aws\S3\Exception\PermanentRedirectException: Encountered a permanent redirect while requesting https://ms-staging-baselayer-static-assets.s3.ca-central-1.amazonaws.com/?list-type=2&delimiter=%2F&prefix=uploads%2Fwpcf7_uploads%2F. Are you sure you are using the correct region for this bucket? in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php:49 Stack trace: #0 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(209): Aws\S3\PermanentRedirectMiddleware->Aws\S3\{closure}(Object(Aws\Result)) #1 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(158): GuzzleHttp\Promise\Promise::callHandler(1, Object(Aws\Result), NULL) #2 /var/www/html/vendor/guzzlehttp/promises/src/TaskQueue.php(52): GuzzleHttp\Promise\Promise::GuzzleHttp\Promise\{closure}() #3 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(163): GuzzleHttp\Promise\TaskQueue->run() #4 /var/www/html/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php(189): GuzzleHttp\Handler\CurlMultiHandler->tick() #5 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(251): GuzzleHttp\Handler\CurlMultiHandler->execute(true) #6 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(227): GuzzleHttp\Promise\Promise->invokeWaitFn() #7 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #8 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #9 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(272): GuzzleHttp\Promise\Promise->waitIfPending() #10 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(229): GuzzleHttp\Promise\Promise->invokeWaitList() #11 /var/www/html/vendor/guzzlehttp/promises/src/Promise.php(69): GuzzleHttp\Promise\Promise->waitIfPending() #12 /var/www/html/vendor/aws/aws-sdk-php/src/AwsClientTrait.php(58): GuzzleHttp\Promise\Promise->wait() #13 /var/www/html/vendor/aws/aws-sdk-php/src/ResultPaginator.php(151): Aws\AwsClient->execute(Object(Aws\Command)) #14 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(52): Aws\ResultPaginator->valid() #15 /var/www/html/vendor/aws/aws-sdk-php/src/functions.php(69): Aws\map(Object(Aws\ResultPaginator), Object(Closure)) #16 [internal function]: Aws\flatmap(Object(Aws\ResultPaginator), Object(Closure)) #17 /var/www/html/wp-content/plugins/s3-uploads/inc/class-stream-wrapper.php(695): Generator->valid() #18 [internal function]: S3_Uploads\Stream_Wrapper->dir_readdir() #19 /var/www/html/wp-content/plugins/contact-form-7/includes/file.php(362): readdir(Resource id #734) #20 /var/www/html/wp-includes/class-wp-hook.php(322): wpcf7_cleanup_upload_files() #21 /var/www/html/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters(NULL, Array) #22 /var/www/html/wp-includes/plugin.php(517): WP_Hook->do_action(Array) #23 /var/www/html/wp-includes/load.php(1280): do_action('shutdown') #24 [internal function]: shutdown_action_hook() #25 {main} thrown in /var/www/html/vendor/aws/aws-sdk-php/src/S3/PermanentRedirectMiddleware.php on line 49