7

Turkish government have blocked some IPs including Google Analytics. This caused all the web sites using alanytics to slow down and even not to load. How can we prevent this problem? How can we skip loading of ga.js if not available?

2
  • 3
    An interesting close vote. I would consider external javascript loading questions to be programming related, and that's exactly what this problem is. Commented Jun 8, 2010 at 10:00
  • Maybe serverfault but I wouldn't think superuser. Commented Jun 8, 2010 at 10:02

4 Answers 4

5

Google offers an asynchronous snippet for their tracking code:

Note that you need to use a different tracking syntax to use it, check the migration guide on the link for details. It also require a browser with support for the HTML5 attribute 'async', so it may not fully solve your problem.

Another solution is proposed in 'Better Google Analytics JavaScript that doesn't block page downloading'

Sign up to request clarification or add additional context in comments.

2 Comments

So visitors using IE6 won't be tracked or won't be async?
@Hasan: Won't be async'ed. The async attribute will be ignored if not supported.
2

You could try using the defer attribute on a script element to delay loading until the document has been fully parsed.

<script src="http://www.google.com/path/to/analytics.js" 
        type="text/javascript"
        defer>
</script>

I'm not sure if this would affect the analytics scripts adversely, though.

As an aside, the defer attribute is available in newer versions of Firefox, IE6+, Chrome, Safari, Opera.

Comments

1

It depends how the Turkish government is blocking:

  1. Connections hang
  2. Connections are refused
  3. Packets just black-hole

It's probably 3), so you'll have to detect Turkish IPs and write the page differently to not reference google to fix the problem. At least that's the only solution I can think of at the moment.

1 Comment

Connection timeout while trying to get ga.js.
1

You can try using the loading the GA script asynchronously

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.