(function(bannerClassName) { const sendEvent = (token, action) => { const value = 'Branding ' + token + ' – ' + action; if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } else { console.log('GA send: ' + value); } }; const oneBeforePageChange = (callback) => { if (typeof Air === 'object') { const ajaxify = Air.import('module.ajaxify'); ajaxify.one('Before page changed', () => { try { if (callback) { callback(); } } catch (error) { console.log(error); } }); } }; const onLinkClick = (e) => { const link = e.target; const href = link.getAttribute('href'); sendEvent(href, 'Click'); link.removeEventListener('click', onLinkClick); }; const branding = document.querySelector(bannerClassName); if (!branding) { return; } const links = branding.querySelectorAll('a'); for (let i = 0; i < links.length; i += 1) { const isVisible = getComputedStyle(links[i]).display !== 'none'; const href = links[i].getAttribute('href'); if (isVisible) { sendEvent(href, 'Show'); } links[i].addEventListener('click', onLinkClick); } oneBeforePageChange(() => { for (let i = 0; i < links.length; i += 1) { links[i].removeEventListener('click', onLinkClick); } }); })('.entry-native-branding');

"Волшебный" шаблон для поиска зарубежных клиентов

Птичка чирикает, собачка гавкает, "меня тут все спрашивают" - пишет блоггер.... Но меня и правда регулярно спрашивают (как автора написанной в 2017 году книги про удаленную работу, фрилансеров и фриланс биржи).
Спрашивают программисты или небольшие команды, которые хотят найти клиента на Upwork, Freelancer.com и похожих сайтах, следующее:

"А есть у тебя какой-нибудь "волшебный" шаблон, который будет "зацеплять" клиентов?"

И.. такой шаблон действительно существует, он короткий и душевный:

Dear [Client Name],

After reading over your job post this looks like a perfect fit for my skill sets. I have built a large number of [Project Type] projects.

My name is [Your name] and I am an [Project Type] expert [with XX years of experience] in [Project Type].

While I am certain there will be others who underbid me on this project, I can assure you several things.

  • I work extremely fast
  • I have a great experience in [Project Type]
  • I have good working experience with clients who are native English speaker. This means I can ensure quality communication in regards to the project.

A few questions about the project:

  • When you want [Project Name] to start?
  • What is the purpose of [Project Name] ?
  • What features and functionality are you looking for in [Project Name]?

Thank you and I look forward to the opportunity to work with you.

[Name]

Вольный перевод:

Уважаемый [Имя Клиент],

После прочтения Вашего обьявления я понял, что этот проект идеально подойдет для моих навыков. Я уже создал множество [Тип проекта] проектов.

Меня зовут [Имя] и я эксперт в [Тип проекта] с XX годами опыта. Хотя, уверен, что найдутся и другие, кто предложит реализовать проект дешевле, я хочу заверить Вас в следующем:

1. Я работаю очень быстро
2. У меня отличный опыт в [Тип проекта]
3. У меня большой опыт взаимодействия с клиентами, говорящими по-английски. Это означает, что я гарантирую отличную коммуникацию во время работ по проектом.

Несколько вопросов о самом проекте:

1. Когда Вы желаете начать работу над [Project Name] ?
2. Какая [основная] цель [Project Name] ?
3. Какие фичи и функции Вам необходимо реализовать в [Project Name]?

Спасибо и надеюсь на возможность поработать с Вами.

[Имя]

Если Вам пока показать нечего из предыдущих проектов на данной фриланс бирже, то можно в конце добавить, мол, хотя Вы сами по себе опытный, но новичок именно на этом сайте и как раз начали здесь набираеть клиентов:

P.S.: I am new to Upwork (not to [Project Type]) and looking to get a few clients that I can build upon.

Если нет идей, как разнообразить шаблон, можете легко нагуглить как это уже сделали другие.

(function(bannerClassName) { const sendEvent = (token, action) => { const value = 'Branding ' + token + ' – ' + action; if (window.dataLayer !== undefined) { window.dataLayer.push({ event: 'data_event', data_description: value, }); } else { console.log('GA send: ' + value); } }; const oneBeforePageChange = (callback) => { if (typeof Air === 'object') { const ajaxify = Air.import('module.ajaxify'); ajaxify.one('Before page changed', () => { try { if (callback) { callback(); } } catch (error) { console.log(error); } }); } }; const onLinkClick = (e) => { const link = e.target; const href = link.getAttribute('href'); sendEvent(href, 'Click'); link.removeEventListener('click', onLinkClick); }; const branding = document.querySelector(bannerClassName); if (!branding) { return; } const links = branding.querySelectorAll('a'); for (let i = 0; i < links.length; i += 1) { const isVisible = getComputedStyle(links[i]).display !== 'none'; const href = links[i].getAttribute('href'); if (isVisible) { sendEvent(href, 'Show'); } links[i].addEventListener('click', onLinkClick); } oneBeforePageChange(() => { for (let i = 0; i < links.length; i += 1) { links[i].removeEventListener('click', onLinkClick); } }); })('.entry-article-footer');
0
1 комментарий
Иван Дубышкин

А я вот экстремально медленный. А экстремально быстрые молотят много кода, не думая зачем он. И в итоге потом выясняется, что зря молотили.

Ответить
Развернуть ветку
Читать все 1 комментарий
null