how to optimize grouped select from an already grouped select query
Simpler, just remove the click_value from the inner group and SUM it. No need for the outer sum:

SELECT s.shop_id as shop_id, s.shop_name as shop_name, 
      s.pay_type as payment_schedule,
      res.num_clicks, res.cost
FROM Shop AS s
  INNER JOIN (
      SELECT c.shop_id
            count(c.id) as num_clicks, 
            SUM(click_value) as cost
      FROM Clicktracker c
        INNER JOIN Shop AS s ON c.shop_id=s.shop_id
      WHERE c.domain='mobi.mysite.org'
      GROUP BY s.shop_id, c.domain
      ) AS res ON s.shop_id=res.shop_id


just something extra, you have "shop_name" and id on the Shop table. Check if you really need the shop_name in your clicktracker table or if it is redundant.