Se entendi a lógica corretamente, o problema é o produto cartesiano causado pelas duas junções. Sua consulta é um pouco difícil de seguir, mas acho que a intenção é melhor tratada com subconsultas correlacionadas:
select k.*,
(select sum(cost)
from ad_group_keyword_network n
where n.event_date >= '2015-12-27' and
n.ad_group_keyword_id = 1210802 and
k.id = n.ad_group_keyword_id
) as cost,
(select sum(clicks)
from keyword_click c
where (c.date is null or c.date >= '2015-12-27') and
k.keyword_id = c.keyword_id
) as clicks
from ad_group_keyword k
where k.status = 2 ;
Aqui é o correspondente SQL Fiddle.
EDITAR:
A subseleção deve ser mais rápida que o
group by
sobre os dados não agregados. No entanto, você precisa dos índices certos:ad_group_keyword_network(ad_group_keyword_id, ad_group_keyword_id, event_date, cost)
e keyword_click(keyword_id, date, clicks)
.